Re: proposal: defer installing SIGCHLD

2012-05-25 Thread Marc Lehmann
On Thu, May 24, 2012 at 07:40:27PM +0400, Denis Bilenko denis.bile...@gmail.com wrote: behavious is deterministic right now - when you want to do your own signal handling, you e.g. block/ev_default_loop/restore/unblock, and that is much harder (if possible at all) to do otherwise. It's

Re: proposal: defer installing SIGCHLD

2012-05-24 Thread Denis Bilenko
On Thu, May 24, 2012 at 6:25 AM, Marc Lehmann schm...@schmorp.de wrote: The real reason why it breaks existing apps is another one though: the behavious is deterministic right now - when you want to do your own signal handling, you e.g. block/ev_default_loop/restore/unblock, and that is much

Re: proposal: defer installing SIGCHLD

2012-05-23 Thread Zsbán Ambrus
On 5/23/12, Marc Lehmann schm...@schmorp.de wrote: On Tue, May 22, 2012 at 01:21:35PM +0400, Denis Bilenko denis.bile...@gmail.com wrote: The patch below defers installing SIGCHLD until the first child watcher is started. Thus, if an application does not use child watchers, libev never

proposal: defer installing SIGCHLD

2012-05-22 Thread Denis Bilenko
Hi Marc, The patch below defers installing SIGCHLD until the first child watcher is started. Thus, if an application does not use child watchers, libev never installs a SIGCHLD handler. The problem I'm solving with it is this: In gevent 0.x we used libevent which does not reap children. There

Re: proposal: defer installing SIGCHLD

2012-05-22 Thread Zsbán Ambrus
On Tue, May 22, 2012 at 11:21 AM, Denis Bilenko denis.bile...@gmail.com wrote: The patch below defers installing SIGCHLD until the first child watcher is started. Thus, if an application does not use child watchers, libev never installs a SIGCHLD handler. Couldn't you instead compile with

Re: proposal: defer installing SIGCHLD

2012-05-22 Thread Denis Bilenko
On Tue, May 22, 2012 at 4:49 PM, Zsbán Ambrus amb...@math.bme.hu wrote: On Tue, May 22, 2012 at 11:21 AM, Denis Bilenko denis.bile...@gmail.com wrote: The patch below defers installing SIGCHLD until the first child watcher is started. Thus, if an application does not use child watchers,