summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2009-07-10 20:10:12 -0400
committerColin Walters <walters@verbum.org>2009-07-14 15:40:17 -0400
commit943b9d3944a507d106613dbf3fa678c6a0bcbade (patch)
tree05f9c8b01f88f8cb9cfb1618c021423850b130b0
parenta0db71ffb52f5967b705d979c01082003701258d (diff)
Bug 22516 - Ensure inotify fd is set close on exec
This prevents it leaking into spawned child processes. Signed-off-by: Colin Walters <walters@verbum.org> (cherry picked from commit f4e15893e5be6da6c7642bb7ef9b14d5531afe41)
-rw-r--r--bus/dir-watch-inotify.c4
-rw-r--r--configure.in2
2 files changed, 5 insertions, 1 deletions
diff --git a/bus/dir-watch-inotify.c b/bus/dir-watch-inotify.c
index 3d8a6663..f03e1bd7 100644
--- a/bus/dir-watch-inotify.c
+++ b/bus/dir-watch-inotify.c
@@ -98,7 +98,11 @@ bus_watch_directory (const char *dir, BusContext *context)
_dbus_assert (dir != NULL);
if (inotify_fd == -1) {
+#ifdef HAVE_INOTIFY_INIT1
+ inotify_fd = inotify_init1 (IN_CLOEXEC);
+#else
inotify_fd = inotify_init ();
+#endif
if (inotify_fd <= 0) {
_dbus_warn ("Cannot initialize inotify\n");
goto out;
diff --git a/configure.in b/configure.in
index c4d0ccc3..bba68d14 100644
--- a/configure.in
+++ b/configure.in
@@ -754,7 +754,7 @@ fi
dnl check if inotify backend is enabled
if test x$have_inotify = xyes; then
AC_DEFINE(DBUS_BUS_ENABLE_INOTIFY,1,[Use inotify])
-
+ AC_CHECK_FUNCS(inotify_init1)
fi
AM_CONDITIONAL(DBUS_BUS_ENABLE_INOTIFY, test x$have_inotify = xyes)