From 3b35fbb6323adadf7108e1d32fc4d93b4d89e9c4 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 11 Nov 2008 09:33:24 +0000 Subject: [PATCH] runsvdir: straighten some convoluted code. logic is unchanged --- runit/runsvdir.c | 14 ++++++-------- 1 file 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) } } - switch (bb_got_signal) { - case SIGHUP: + if (bb_got_signal == SIGHUP) { for (i = 0; i < svnum; i++) if (sv[i].pid) kill(sv[i].pid, SIGTERM); - /* Fall through */ - default: /* SIGTERM (or SIGUSRn if we are init) */ - /* Exit unless we are init */ - if (getpid() == 1) - break; - return (SIGHUP == bb_got_signal) ? 111 : EXIT_SUCCESS; } + /* SIGHUP or SIGTERM (or SIGUSRn if we are init) */ + /* Exit unless we are init */ + if (getpid() != 1) + return (SIGHUP == bb_got_signal) ? 111 : EXIT_SUCCESS; + /* init continues to monitor services forever */ bb_got_signal = 0; } /* for (;;) */ }