summaryrefslogtreecommitdiff
path: root/ev.c
diff options
context:
space:
mode:
authorroot <root>2007-12-11 22:04:55 +0000
committerroot <root>2007-12-11 22:04:55 +0000
commit71cf1659dedacff243a2aa51499d4a75e48f9443 (patch)
tree892730e3b076b5bfd9a605b838637e4a18f251ef /ev.c
parent05b6c3fe61a9e53d10406c6b7558c39f0a195514 (diff)
*** empty log message ***
Diffstat (limited to 'ev.c')
-rw-r--r--ev.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/ev.c b/ev.c
index 371c62b..804002a 100644
--- a/ev.c
+++ b/ev.c
@@ -1754,8 +1754,21 @@ ev_signal_start (EV_P_ ev_signal *w)
assert (("ev_signal_start called with illegal signal number", w->signum > 0));
+ {
+#ifndef _WIN32
+ sigset_t full, prev;
+ sigfillset (&full);
+ sigprocmask (SIG_SETMASK, &full, &prev);
+#endif
+
+ array_needsize (ANSIG, signals, signalmax, w->signum, signals_init);
+
+#ifndef _WIN32
+ sigprocmask (SIG_SETMASK, &prev, 0);
+#endif
+ }
+
ev_start (EV_A_ (W)w, 1);
- array_needsize (ANSIG, signals, signalmax, w->signum, signals_init);
wlist_add ((WL *)&signals [w->signum - 1].head, (WL)w);
if (!((WL)w)->next)