Bug Report: SIGPIPE during call to ev_async_send

Marc Lehmann schmorp at schmorp.de
Sun Oct 11 17:48:08 CEST 2015


On Fri, Oct 09, 2015 at 11:55:17AM -0700, Benjamin Mahler <benjamin.mahler at 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
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\



More information about the libev mailing list