]> rtime.felk.cvut.cz Git - sojka/libev.git/commitdiff
*** empty log message ***
authorMarc Alexander Lehmann <libev@schmorp.de>
Mon, 27 Jun 2011 21:29:35 +0000 (21:29 +0000)
committerMarc Alexander Lehmann <libev@schmorp.de>
Mon, 27 Jun 2011 21:29:35 +0000 (21:29 +0000)
Changes
ev.c

diff --git a/Changes b/Changes
index a0a37f40a7fe0298c3b22ab10b3b4d981ff66686..cf4715a0a3b39da9f4b84a9963c4efde7fb70df7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,8 @@ Revision history for libev, a high-performance and full-featured event loop.
 TODO: ev_loop_wakeup
 
 4.10
+       - fix a race where the workaround against the epoll fork bugs
+          caused signals to not be handled anymore.
        - correct backend_fudge for most backends, and implement a windows
           specific workaround to avoid looping because we call both
           select and Sleep, both with different time resolutions.
diff --git a/ev.c b/ev.c
index a5fee549c95ca04ebc3fa815b8023cbc9592e34b..66f6459f0fd42f5fe9baf70866cb912eb1e20bc8 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -1522,7 +1522,8 @@ ev_feed_signal (int signum)
     return;
 #endif
 
-  evpipe_init (EV_A);
+  if (!ev_active (&pipe_w))
+    return;
 
   signals [signum - 1].pending = 1;
   evpipe_write (EV_A_ &sig_pending);