aboutsummaryrefslogtreecommitdiff
path: root/init/init.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-03-17 08:29:08 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-03-17 08:29:08 +0000
commit3f165fa5b3b38fa4b321be94a97f06927f636fb1 (patch)
treed5e2d1045e714823c2e9a3ef912dcafeffcc9ebd /init/init.c
parent8e2cfec1cdf34068f2378aae9fe8f5ec0f821e21 (diff)
downloadbusybox-w32-3f165fa5b3b38fa4b321be94a97f06927f636fb1.tar.gz
busybox-w32-3f165fa5b3b38fa4b321be94a97f06927f636fb1.tar.bz2
busybox-w32-3f165fa5b3b38fa4b321be94a97f06927f636fb1.zip
libbb: introduce and use sigprocmask_allsigs and sigaction_set.
libbb: rename sig_pause to wait_for_any_sig.
Diffstat (limited to 'init/init.c')
-rw-r--r--init/init.c31
1 files changed, 2 insertions, 29 deletions
diff --git a/init/init.c b/init/init.c
index 13410ac39..1145c0490 100644
--- a/init/init.c
+++ b/init/init.c
@@ -526,27 +526,13 @@ static void init_reboot(unsigned long magic)
526 526
527static void kill_all_processes(void) 527static void kill_all_processes(void)
528{ 528{
529 sigset_t block_signals;
530
531 /* run everything to be run at "shutdown". This is done _prior_ 529 /* run everything to be run at "shutdown". This is done _prior_
532 * to killing everything, in case people wish to use scripts to 530 * to killing everything, in case people wish to use scripts to
533 * shut things down gracefully... */ 531 * shut things down gracefully... */
534 run_actions(SHUTDOWN); 532 run_actions(SHUTDOWN);
535 533
536 /* first disable all our signals */ 534 /* first disable all our signals */
537 sigfillset(&block_signals); 535 sigprocmask_allsigs(SIG_BLOCK);
538 /*sigemptyset(&block_signals);
539 sigaddset(&block_signals, SIGHUP);
540 sigaddset(&block_signals, SIGQUIT);
541 sigaddset(&block_signals, SIGCHLD);
542 sigaddset(&block_signals, SIGUSR1);
543 sigaddset(&block_signals, SIGUSR2);
544 sigaddset(&block_signals, SIGINT);
545 sigaddset(&block_signals, SIGTERM);
546 sigaddset(&block_signals, SIGCONT);
547 sigaddset(&block_signals, SIGSTOP);
548 sigaddset(&block_signals, SIGTSTP);*/
549 sigprocmask(SIG_BLOCK, &block_signals, NULL);
550 536
551 message(L_CONSOLE | L_LOG, "The system is going down NOW!"); 537 message(L_CONSOLE | L_LOG, "The system is going down NOW!");
552 538
@@ -593,26 +579,13 @@ static void halt_reboot_pwoff(int sig)
593static void exec_restart_action(int sig ATTRIBUTE_UNUSED) 579static void exec_restart_action(int sig ATTRIBUTE_UNUSED)
594{ 580{
595 struct init_action *a; 581 struct init_action *a;
596 sigset_t unblock_signals;
597 582
598 for (a = init_action_list; a; a = a->next) { 583 for (a = init_action_list; a; a = a->next) {
599 if (a->action_type & RESTART) { 584 if (a->action_type & RESTART) {
600 kill_all_processes(); 585 kill_all_processes();
601 586
602 /* unblock all signals (blocked in kill_all_processes()) */ 587 /* unblock all signals (blocked in kill_all_processes()) */
603 sigfillset(&unblock_signals); 588 sigprocmask_allsigs(SIG_UNBLOCK);
604 /*sigemptyset(&unblock_signals);
605 sigaddset(&unblock_signals, SIGHUP);
606 sigaddset(&unblock_signals, SIGQUIT);
607 sigaddset(&unblock_signals, SIGCHLD);
608 sigaddset(&unblock_signals, SIGUSR1);
609 sigaddset(&unblock_signals, SIGUSR2);
610 sigaddset(&unblock_signals, SIGINT);
611 sigaddset(&unblock_signals, SIGTERM);
612 sigaddset(&unblock_signals, SIGCONT);
613 sigaddset(&unblock_signals, SIGSTOP);
614 sigaddset(&unblock_signals, SIGTSTP);*/
615 sigprocmask(SIG_UNBLOCK, &unblock_signals, NULL);
616 589
617 /* Open the new terminal device */ 590 /* Open the new terminal device */
618 open_stdio_to_tty(a->terminal, 0 /* - halt if open fails */); 591 open_stdio_to_tty(a->terminal, 0 /* - halt if open fails */);