diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-11 09:33:24 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-11 09:33:24 +0000 |
commit | 3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4 (patch) | |
tree | 31ed116e9873ed135b713851b8d97780617d488b | |
parent | 9f2f808b0dd531840b906e6dd09550a626c32bf1 (diff) | |
download | busybox-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.c | 14 |
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 | } |