diff options
author | John Crispin <blogic@openwrt.org> | 2014-10-02 19:39:56 +0200 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2014-10-02 19:49:05 +0200 |
commit | 49522abb5adebeedc25f7eb7e152c308ef04b32d (patch) | |
tree | e2e51be0297e5205d7c21ded376812533fa97bac | |
parent | 542c5374259fa5a4c4d009efd6b23b46d51cba15 (diff) | |
download | unitd-49522abb5adebeedc25f7eb7e152c308ef04b32d.tar unitd-49522abb5adebeedc25f7eb7e152c308ef04b32d.zip |
make procd handle ctrl+alt+del
Signed-off-by: John Crispin <blogic@openwrt.org>
-rw-r--r-- | procd.c | 5 | ||||
-rw-r--r-- | signal.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -15,6 +15,7 @@ #include <sys/wait.h> #include <sys/types.h> #include <sys/stat.h> +#include <sys/reboot.h> #include <unistd.h> #include <getopt.h> @@ -69,6 +70,10 @@ int main(int argc, char **argv) else procd_state_next(); uloop_run(); + uloop_done(); + + if (getpid() == 1) + procd_shutdown(RB_AUTOBOOT); return 0; } @@ -91,4 +91,5 @@ void procd_signal(void) sigaction(SIGHUP, &sa_dummy, NULL); sigaction(SIGKILL, &sa_dummy, NULL); sigaction(SIGSTOP, &sa_dummy, NULL); + reboot(RB_DISABLE_CAD); } |