mirror of /home/gitosis/repositories/libev.git
steting got_:async when we never reset it is harmful as it blocks signal handling
parent
df8d56d064
commit
9f7f728ff2
2
Changes
2
Changes
|
@ -1,7 +1,7 @@
|
|||
Revision history for libev, a high-performance and full-featured event loop
|
||||
|
||||
3.1
|
||||
- implement ev_asnc watchers.
|
||||
- implement ev_async watchers.
|
||||
- only initialise signal pipe on demand.
|
||||
- make use of sig_atomic_t configurable.
|
||||
|
||||
|
|
9
ev.c
9
ev.c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue