basic/fd-util: introduce stdio_unset_cloexec() function
There are some places in the systemd which are use the same pattern:
fd_cloexec(STDIN_FILENO, false);
fd_cloexec(STDOUT_FILENO, false);
fd_cloexec(STDERR_FILENO, false);
to unset CLOEXEC for standard file descriptors. This patch introduces
the stdio_unset_cloexec() function to hide this and make code cleaner.
This commit is contained in:
@@ -186,6 +186,12 @@ int fd_cloexec(int fd, bool cloexec) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void stdio_unset_cloexec(void) {
|
||||
fd_cloexec(STDIN_FILENO, false);
|
||||
fd_cloexec(STDOUT_FILENO, false);
|
||||
fd_cloexec(STDERR_FILENO, false);
|
||||
}
|
||||
|
||||
_pure_ static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) {
|
||||
unsigned i;
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(DIR*, closedir);
|
||||
|
||||
int fd_nonblock(int fd, bool nonblock);
|
||||
int fd_cloexec(int fd, bool cloexec);
|
||||
void stdio_unset_cloexec(void);
|
||||
|
||||
int close_all_fds(const int except[], unsigned n_except);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user