From 1573ea1485e809557bd9c8777a794d394fbc79c7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 7 Nov 2009 19:02:53 +0100 Subject: inotify: set close-on-exec flag Added wrapper for inotify_init1() to fd_util.c. --- src/fd_util.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/fd_util.c') diff --git a/src/fd_util.c b/src/fd_util.c index b6593d91..9137e6e3 100644 --- a/src/fd_util.c +++ b/src/fd_util.c @@ -35,6 +35,10 @@ #include #endif +#ifdef HAVE_INOTIFY_INIT +#include +#endif + #ifndef WIN32 static int @@ -169,3 +173,25 @@ accept_cloexec(int fd, struct sockaddr *address, size_t *address_length_r) return ret; } + +#ifdef HAVE_INOTIFY_INIT + +int +inotify_init_cloexec(void) +{ + int fd; + +#ifdef HAVE_INOTIFY_INIT1 + fd = inotify_init1(IN_CLOEXEC); + if (fd >= 0 || errno != ENOSYS) + return fd; +#endif + + fd = inotify_init(); + if (fd >= 0) + fd_set_cloexec(fd, true); + + return fd; +} + +#endif -- cgit v1.2.3