On Fri, Oct 31, 2008 at 12:18:05PM +0300, Kandalintsev Alexandre <[EMAIL 
PROTECTED]> 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
      --==---/ / _ \/ // /\ \/ /      [EMAIL PROTECTED]
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to