libev-3.48 has just been released
schmorp at schmorp.de
Fri Oct 31 16:15:35 CET 2008
On Fri, Oct 31, 2008 at 12:18:05PM +0300, Kandalintsev Alexandre <exe at agava.com> wrote:
>> No, but you don't need any tests, the basic problem is that epoll doesn't
>> know about fork, so when a process forks, a) the parent will receive
>> events for file descriptors of the child and b) the parent can do nothing
>> about it, as it cannot remove the fds from its set. This property is by
>> design and well known. It's a feature, basically.
> Oh, the first link in google folows to your post in lkml :). I'll
back then, I was additionally fooled by the (incorrect) documentation, and
wasn't aware of the actual long-reaching implications.
Just a few days ago I believed an additional pthread_atfork would suffice to
work around the issues :)
> carrefully read it and if I find any suggestions I'll mail you.
Well, you could even complain the lkml again - I can give a precise example
and the required conditions for the issue.
The most likely response will be "you should use edge triggering anyways"
or somesuch nonsense, though (but maybe if someone else tried... :).
In any case, the additional checking code inside libev isn't that
horrible, and 32 bit should really give good protection.
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / pcg at goof.com
More information about the libev