On Fri, Oct 09, 2015 at 11:55:17AM -0700, Benjamin Mahler 
<benjamin.mah...@gmail.com> wrote:
> The bug is rare (on the order of 10 occurrences per day on production

I've checked in a potential fix for this problem, without testing it. It
works by avoiding recreation of the signal. It should (reliably) take care
of your specific problem.

However, we thought long and hard and didn't find a general solution to
this problem (it's possible to solve in userspace, but we likely would
trigger a race condition in the kernel), so we also had to put additional
limitations on forking and reusing loops in general - basically,
ignoring SIGPIPE is now a hard requirement if you want to reuse loops in the
child.

Depending on your application, this is probably trivial to satisfy becaue you
don't reuse loops in the child.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schm...@schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
libev@lists.schmorp.de
http://lists.schmorp.de/mailman/listinfo/libev

Reply via email to