diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 08:29:08 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 08:29:08 +0000 |
commit | 3f165fa5b3b38fa4b321be94a97f06927f636fb1 (patch) | |
tree | d5e2d1045e714823c2e9a3ef912dcafeffcc9ebd /shell | |
parent | 8e2cfec1cdf34068f2378aae9fe8f5ec0f821e21 (diff) | |
download | busybox-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 'shell')
-rw-r--r-- | shell/ash.c | 4 | ||||
-rw-r--r-- | shell/hush.c | 5 |
2 files changed, 2 insertions, 7 deletions
diff --git a/shell/ash.c b/shell/ash.c index 6f675ce69..069909118 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -273,13 +273,11 @@ static void | |||
273 | raise_interrupt(void) | 273 | raise_interrupt(void) |
274 | { | 274 | { |
275 | int i; | 275 | int i; |
276 | sigset_t mask; | ||
277 | 276 | ||
278 | intpending = 0; | 277 | intpending = 0; |
279 | /* Signal is not automatically unmasked after it is raised, | 278 | /* Signal is not automatically unmasked after it is raised, |
280 | * do it ourself - unmask all signals */ | 279 | * do it ourself - unmask all signals */ |
281 | sigemptyset(&mask); | 280 | sigprocmask_allsigs(SIG_UNBLOCK); |
282 | sigprocmask(SIG_SETMASK, &mask, NULL); | ||
283 | /* pendingsig = 0; - now done in onsig() */ | 281 | /* pendingsig = 0; - now done in onsig() */ |
284 | 282 | ||
285 | i = EXSIG; | 283 | i = EXSIG; |
diff --git a/shell/hush.c b/shell/hush.c index baa2db780..c61607dd3 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -788,11 +788,8 @@ static void handler_ctrl_z(int sig) | |||
788 | static void sigexit(int sig) ATTRIBUTE_NORETURN; | 788 | static void sigexit(int sig) ATTRIBUTE_NORETURN; |
789 | static void sigexit(int sig) | 789 | static void sigexit(int sig) |
790 | { | 790 | { |
791 | sigset_t block_all; | ||
792 | |||
793 | /* Disable all signals: job control, SIGPIPE, etc. */ | 791 | /* Disable all signals: job control, SIGPIPE, etc. */ |
794 | sigfillset(&block_all); | 792 | sigprocmask_allsigs(SIG_BLOCK); |
795 | sigprocmask(SIG_SETMASK, &block_all, NULL); | ||
796 | 793 | ||
797 | if (interactive_fd) | 794 | if (interactive_fd) |
798 | tcsetpgrp(interactive_fd, saved_tty_pgrp); | 795 | tcsetpgrp(interactive_fd, saved_tty_pgrp); |