diff options
author | Alexander Kuleshov <kuleshovmail@gmail.com> | 2016-07-02 23:38:47 +0600 |
---|---|---|
committer | Alexander Kuleshov <kuleshovmail@gmail.com> | 2016-07-02 23:38:47 +0600 |
commit | 3b9a1d87cc468cfcd6f9ddfd98ac389fa5840f10 (patch) | |
tree | 59c7c06a75e9f57502b6ce2e38f4cc7b95ce34f6 /src | |
parent | 563a69f480180378ac109a4125b565ce4f394979 (diff) |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/fd-util.c | 6 | ||||
-rw-r--r-- | src/basic/fd-util.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/basic/fd-util.c b/src/basic/fd-util.c index 8b466cff15..5c820332a5 100644 --- a/src/basic/fd-util.c +++ b/src/basic/fd-util.c @@ -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; diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h index b86e41698a..34b98d4aec 100644 --- a/src/basic/fd-util.h +++ b/src/basic/fd-util.h @@ -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); |