From 31905f94777ae6e7181e9fbcc0cc7c4cf70abfaf Mon Sep 17 00:00:00 2001 From: Eric Lammerts Date: Mon, 6 Dec 2010 01:26:26 +0100 Subject: runsvdir: do not miss closely spaced service dir changes Signed-off-by: Eric Lammerts Signed-off-by: Denys Vlasenko --- runit/runsvdir.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'runit') diff --git a/runit/runsvdir.c b/runit/runsvdir.c index e77eeff04..166664237 100644 --- a/runit/runsvdir.c +++ b/runit/runsvdir.c @@ -312,8 +312,11 @@ int runsvdir_main(int argc UNUSED_PARAM, char **argv) last_mtime = s.st_mtime; last_dev = s.st_dev; last_ino = s.st_ino; - //if (now <= mtime) - // sleep(1); + /* if the svdir changed this very second, wait until the + * next second, because we won't be able to detect more + * changes within this second */ + while (time(NULL) == last_mtime) + usleep(100000); need_rescan = do_rescan(); while (fchdir(curdir) == -1) { warn2_cannot("change directory, pausing", ""); -- cgit v1.2.3