libev 3.8 threads & signals

Marc Lehmann schmorp at
Fri Sep 25 05:36:46 CEST 2009

On Thu, Sep 24, 2009 at 03:31:30PM +0200, "common at" <common at> wrote:
> I have a g_thread_pool and libev, following pseudocode

I don't know what g_thread_pool does, but if it messes with the signal
mask, then it should just not do that, at elast not for signals you register
with libev.

libev (just like any other event loop) requires you to not touch resources
it manages, which includes SIGCHLD and any signal handler you install via it.

If something else in your program messes with those signals in any way, then
either that part is broken, or the part that installs the signal watcher in

These resources are simply nto sharable, as much as we'd like them to be.
Only one can manage it, which is why libev allows you to multiplex all
those signals.

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list