busybox: add 1.18.0 runsvdir fix
authorPeter Korsgaard <jacmet@sunsite.dk>
Sat, 11 Dec 2010 01:19:57 +0000 (02:19 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sat, 11 Dec 2010 01:19:57 +0000 (02:19 +0100)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/busybox/busybox-1.18.0/busybox-1.18.0-runsvdir.patch [new file with mode: 0644]

diff --git a/package/busybox/busybox-1.18.0/busybox-1.18.0-runsvdir.patch b/package/busybox/busybox-1.18.0/busybox-1.18.0-runsvdir.patch
new file mode 100644 (file)
index 0000000..41ad570
--- /dev/null
@@ -0,0 +1,17 @@
+diff -urpN busybox-1.18.0/runit/runsvdir.c busybox-1.18.0-runsvdir/runit/runsvdir.c
+--- busybox-1.18.0/runit/runsvdir.c    2010-11-22 21:43:22.000000000 +0100
++++ busybox-1.18.0-runsvdir/runit/runsvdir.c   2010-12-06 01:27:56.926036992 +0100
+@@ -312,8 +312,11 @@ int runsvdir_main(int argc UNUSED_PARAM,
+                                               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", "");