[Twisted-Python] signalfd
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Wed Nov 3 20:23:38 MDT 2010
On 01:45 am, ndbecker2 at gmail.com wrote:
>On modern linux, signalfd can be used to convert sigchld into an event
>on a
>file descriptor. Looks like just what is wanted for processProtocol.
It does, indeed. I'm not sure it's really worth bothering though. Here
are the drawbacks of using signalfd():
- It only works on Linux
- It works differently on older versions of Linux than on newer
versions
- You still can't have another SIGCHLD handler installed that will
called (so it's not any more cooperative with other library code)
As compared to using SA_RESTART with a normal SIGCHLD handler, this is
two extra drawbacks. The advantages of signalfd() are:
- It's just another fd, so the reactor doesn't need as much special
support code
But this advantage is negated by the fact that we still need the special
support code for older versions of Linux and for other platforms.
If anyone's aware of other advantages or drawbacks of one approach or
the other, it would be interesting to hear about them. Otherwise, it
doesn't seem like it's worth changing.
Thanks for the suggestion! :)
Jean-Paul
More information about the Twisted-Python
mailing list