mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-11 12:04:22 +00:00
utils: split null_stdfds() to open_devnull() and set_stdfds()
Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com>
This commit is contained in:
parent
d1ccb562a9
commit
f8dd027559
@ -1752,24 +1752,41 @@ domount:
|
||||
return 1;
|
||||
}
|
||||
|
||||
int null_stdfds(void)
|
||||
int open_devnull(void)
|
||||
{
|
||||
int fd, ret = -1;
|
||||
int fd = open("/dev/null", O_RDWR);
|
||||
|
||||
fd = open("/dev/null", O_RDWR);
|
||||
if (fd < 0)
|
||||
SYSERROR("Can't open /dev/null");
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
int set_stdfds(int fd)
|
||||
{
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
|
||||
if (dup2(fd, 0) < 0)
|
||||
goto err;
|
||||
return -1;
|
||||
if (dup2(fd, 1) < 0)
|
||||
goto err;
|
||||
return -1;
|
||||
if (dup2(fd, 2) < 0)
|
||||
goto err;
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int null_stdfds(void)
|
||||
{
|
||||
int ret = -1;
|
||||
int fd = open_devnull();
|
||||
|
||||
if (fd >= 0) {
|
||||
ret = set_stdfds(fd);
|
||||
close(fd);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
err:
|
||||
close(fd);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -283,6 +283,8 @@ int setproctitle(char *title);
|
||||
int safe_mount(const char *src, const char *dest, const char *fstype,
|
||||
unsigned long flags, const void *data, const char *rootfs);
|
||||
int mount_proc_if_needed(const char *rootfs);
|
||||
int open_devnull(void);
|
||||
int set_stdfds(int fd);
|
||||
int null_stdfds(void);
|
||||
int lxc_count_file_lines(const char *fn);
|
||||
#endif /* __LXC_UTILS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user