aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-11-11 09:33:24 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-11-11 09:33:24 +0000
commit3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4 (patch)
tree31ed116e9873ed135b713851b8d97780617d488b
parent9f2f808b0dd531840b906e6dd09550a626c32bf1 (diff)
downloadbusybox-w32-3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4.tar.gz
busybox-w32-3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4.tar.bz2
busybox-w32-3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4.zip
runsvdir: straighten some convoluted code. logic is unchanged
-rw-r--r--runit/runsvdir.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/runit/runsvdir.c b/runit/runsvdir.c
index 9d560e097..f67330485 100644
--- a/runit/runsvdir.c
+++ b/runit/runsvdir.c
@@ -377,19 +377,17 @@ int runsvdir_main(int argc UNUSED_PARAM, char **argv)
377 } 377 }
378 } 378 }
379 379
380 switch (bb_got_signal) { 380 if (bb_got_signal == SIGHUP) {
381 case SIGHUP:
382 for (i = 0; i < svnum; i++) 381 for (i = 0; i < svnum; i++)
383 if (sv[i].pid) 382 if (sv[i].pid)
384 kill(sv[i].pid, SIGTERM); 383 kill(sv[i].pid, SIGTERM);
385 /* Fall through */
386 default: /* SIGTERM (or SIGUSRn if we are init) */
387 /* Exit unless we are init */
388 if (getpid() == 1)
389 break;
390 return (SIGHUP == bb_got_signal) ? 111 : EXIT_SUCCESS;
391 } 384 }
385 /* SIGHUP or SIGTERM (or SIGUSRn if we are init) */
386 /* Exit unless we are init */
387 if (getpid() != 1)
388 return (SIGHUP == bb_got_signal) ? 111 : EXIT_SUCCESS;
392 389
390 /* init continues to monitor services forever */
393 bb_got_signal = 0; 391 bb_got_signal = 0;
394 } /* for (;;) */ 392 } /* for (;;) */
395} 393}