Blocking and fork problem with signalfd

Julien Danjou julien at
Wed Aug 26 16:43:59 CEST 2009


Starting with 3.8 and modern Linux system, libev uses signalfd, which is
very nice. Thanks for that. :-)

The problem we have currently is that if we ask libev to handle a
signal, it will block the signal using sigprocmask(). That's not
nice, because all subprocesses created with fork() will now have this
signal blocked.

You'll tell me, you just have to unblock the signal between fork() and exec().
That's we do currently, but we are using other libraries that have their
own fork/exec routines that we cannot change, and we just cannot fix the
problem everywhere.

Is there any workaround we may have missed?

Julien Danjou
// ᐰ <julien at>
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// This is the end of my signature.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <>

More information about the libev mailing list