From d723fb155d3db4152a4781dff550cd0f0ce290b5 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 29 Nov 2008 09:07:24 +0000 Subject: [PATCH] inotifyd: save resourses by closing unused inotify descriptors --- miscutils/inotifyd.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/miscutils/inotifyd.c b/miscutils/inotifyd.c index fdf2a2c2b..d6b5d246b 100644 --- a/miscutils/inotifyd.c +++ b/miscutils/inotifyd.c @@ -53,9 +53,6 @@ enum { MASK_BITS = sizeof(mask_names) - 1 }; -extern int inotify_init(void); -extern int inotify_add_watch(int fd, const char *path, uint32_t mask); - int inotifyd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int inotifyd_main(int argc, char **argv) { @@ -160,9 +157,11 @@ int inotifyd_main(int argc, char **argv) args[3] = ie->len ? ie->name : NULL; wait4pid(xspawn((char **)args)); // we are done if all files got final x event - if (ie->mask & 0x8000) + if (ie->mask & 0x8000) { if (--argc <= 0) goto done; + inotify_rm_watch(pfd.fd, ie->wd); + } } // next event i = sizeof(struct inotify_event) + ie->len;