aboutsummaryrefslogtreecommitdiff
path: root/libbb
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 /libbb
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 'libbb')
-rw-r--r--libbb/signals.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/libbb/signals.c b/libbb/signals.c
index 719beab63..685c55230 100644
--- a/libbb/signals.c
+++ b/libbb/signals.c
@@ -17,6 +17,13 @@ int sigaction_set(int signum, const struct sigaction *act)
17 return sigaction(signum, act, NULL); 17 return sigaction(signum, act, NULL);
18} 18}
19 19
20int sigprocmask_allsigs(int how)
21{
22 sigset_t set;
23 sigfillset(&set);
24 return sigprocmask(how, &set, NULL);
25}
26
20void bb_signals(int sigs, void (*f)(int)) 27void bb_signals(int sigs, void (*f)(int))
21{ 28{
22 int sig_no = 0; 29 int sig_no = 0;
@@ -69,16 +76,7 @@ void sig_unblock(int sig)
69 sigprocmask(SIG_UNBLOCK, &ss, NULL); 76 sigprocmask(SIG_UNBLOCK, &ss, NULL);
70} 77}
71 78
72#if 0 79void wait_for_any_sig(void)
73void sig_blocknone(void)
74{
75 sigset_t ss;
76 sigemptyset(&ss);
77 sigprocmask(SIG_SETMASK, &ss, NULL);
78}
79#endif
80
81void sig_pause(void)
82{ 80{
83 sigset_t ss; 81 sigset_t ss;
84 sigemptyset(&ss); 82 sigemptyset(&ss);