X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=signal.c;h=74cabcbaf13c829f8be119a700a831860bb7796f;hb=916f95cb58604038695347ee41a430d8ca1f0556;hp=0bb881e4435bc06881598140c5aaa5abcbf54589;hpb=0d44f0de9eacf687182ebebfcb1f9496dbf3bc32;p=project%2Fprocd.git diff --git a/signal.c b/signal.c index 0bb881e..74cabcb 100644 --- a/signal.c +++ b/signal.c @@ -19,13 +19,12 @@ #include "procd.h" -static int preinit; - static void do_reboot(void) { LOG("reboot\n"); fflush(stderr); sync(); + sleep(2); reboot(RB_AUTOBOOT); while (1) ; @@ -36,9 +35,6 @@ static void signal_shutdown(int signal, siginfo_t *siginfo, void *data) int event = 0; char *msg = NULL; - if (preinit) - do_reboot(); - switch(signal) { case SIGTERM: event = RB_AUTOBOOT; @@ -96,11 +92,3 @@ void procd_signal(void) sigaction(SIGKILL, &sa_dummy, NULL); sigaction(SIGSTOP, &sa_dummy, NULL); } - -void procd_signal_preinit(void) -{ - preinit = 1; - sigaction(SIGTERM, &sa_shutdown, NULL); - sigaction(SIGUSR1, &sa_shutdown, NULL); - sigaction(SIGUSR2, &sa_shutdown, NULL); -}