[Twisted-Python] Deadlocks when launching processes - how to investigate?

Glyph Lefkowitz glyph at twistedmatrix.com
Tue Feb 18 19:50:49 MST 2014


On Feb 18, 2014, at 6:07 PM, exarkun at twistedmatrix.com wrote:

> On 18 Feb, 07:29 pm, glyph at twistedmatrix.com wrote:
>> 
>> On Feb 15, 2014, at 5:32 PM, exarkun at twistedmatrix.com wrote:
>>> On 15 Feb, 07:58 pm, glyph at twistedmatrix.com wrote:
>>>> 
>>>> The one thing that confused me was that the sample program appeared to be running the program only once a second, and waiting for it to complete before running it again.
>>> 
>>> I think it's more like 81 processes once a second and *not* waiting for them to complete before starting over.  Notice the lack of yields in key places.  I suspect inlineCallbacks has gradually eaten out the part of your brain that recognizes that keyword. ;)
>> 
>> I sort of noted this on the ticket, but I think the idea of using KQueue to address this would be great.  Is there a similar thing we might be able to do on Linux to get rid of the dependence on a SIGCHLD handler?
> 
> Not that I know of.  As far as I know Linux is missing good child process event notification support.

Wait... what about... signalfd?!

Lots of mentions of SIGCHLD here:

<http://linux.die.net/man/2/signalfd>

-g
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20140218/637a6092/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4124 bytes
Desc: not available
URL: </pipermail/twisted-python/attachments/20140218/637a6092/attachment-0002.bin>


More information about the Twisted-Python mailing list