diff options
author | root <root> | 2008-02-19 19:01:12 +0000 |
---|---|---|
committer | root <root> | 2008-02-19 19:01:12 +0000 |
commit | 0c8e14659f11acebbf5d102234a3d9d0e94b00a3 (patch) | |
tree | 2aa8cdda7524622d1a4360c5b18237dff9b636f8 /ev.c | |
parent | 091617c5e9d95bebfbb7f57fa1faeb22fcb57feb (diff) |
steting got_:async when we never reset it is harmful as it blocks signal handling
Diffstat (limited to 'ev.c')
-rw-r--r-- | ev.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -813,9 +813,6 @@ evpipe_init (EV_P) ev_io_set (&pipeev, evpipe [0], EV_READ); ev_io_start (EV_A_ &pipeev); ev_unref (EV_A); /* watcher should not keep loop alive */ - - /* in case we received the signal before we had the chance of installing a handler */ - ev_feed_event (EV_A_ &pipeev, 0); } } @@ -1223,7 +1220,11 @@ loop_fork (EV_P) if (ev_is_active (&pipeev)) { /* this "locks" the handlers against writing to the pipe */ - gotsig = gotasync = 1; + /* while we modify the fd vars */ + gotsig = 1; +#if EV_ASYNC_ENABLE + gotasync = 1; +#endif ev_ref (EV_A); ev_io_stop (EV_A_ &pipeev); |