projects
/
project
/
procd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make procd wait for ubus to come up
[project/procd.git]
/
signal.c
diff --git
a/signal.c
b/signal.c
index
b62da0a
..
12eedc8
100644
(file)
--- a/
signal.c
+++ b/
signal.c
@@
-19,14
+19,12
@@
#include "procd.h"
#include "procd.h"
-static int preinit;
-
static void do_reboot(void)
{
LOG("reboot\n");
fflush(stderr);
sync();
static void do_reboot(void)
{
LOG("reboot\n");
fflush(stderr);
sync();
- sleep(
1
);
+ sleep(
2
);
reboot(RB_AUTOBOOT);
while (1)
;
reboot(RB_AUTOBOOT);
while (1)
;
@@
-37,9
+35,6
@@
static void signal_shutdown(int signal, siginfo_t *siginfo, void *data)
int event = 0;
char *msg = NULL;
int event = 0;
char *msg = NULL;
- if (preinit)
- do_reboot();
-
switch(signal) {
case SIGTERM:
event = RB_AUTOBOOT;
switch(signal) {
case SIGTERM:
event = RB_AUTOBOOT;
@@
-96,12
+91,5
@@
void procd_signal(void)
sigaction(SIGHUP, &sa_dummy, NULL);
sigaction(SIGKILL, &sa_dummy, NULL);
sigaction(SIGSTOP, &sa_dummy, NULL);
sigaction(SIGHUP, &sa_dummy, NULL);
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);
+ reboot(RB_DISABLE_CAD);
}
}