On Tue, Jan 15, 2008 at 05:06:27AM +0100, Marc Lehmann wrote: > On Mon, Jan 14, 2008 at 10:56:54AM -0500, Chris Shoemaker <[EMAIL PROTECTED]> > wrote: > > I believe the attached program demonstrates some bug related to signal > > delivery after a fork. > > Oh, what you see is that ev_default_fork only sets a flag for the next run > of ev_loop. You will have to run ev_loop to reinitialise the kernel state > after a fork (e.g. ev_loop (EVLOOP_NONBLOCK) will do). > > The documentation will point this out in the next release (and it will > contain other things required by kqueue, which makes it less flexible).
Adding: ev_loop(loop, EVLOOP_NONBLOCK); immediately after the call to ev_default_fork() did not noticeably change the behavior of the program. It still hangs about about 10% of the time. -chris _______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
