From 71cf1659dedacff243a2aa51499d4a75e48f9443 Mon Sep 17 00:00:00 2001
From: root <root>
Date: Tue, 11 Dec 2007 22:04:55 +0000
Subject: *** empty log message ***

---
 ev.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

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)
-- 
cgit v1.2.3