On Feb 15, 2014, at 6:38 AM, Itamar Turner-Trauring <ita...@itamarst.org> wrote:
> In this particular case, the traceback plus some googling > (http://bugs.python.org/issue11768 is what I found, presumably a different > bug though) suggests the bug may be something like signal handler not being > re-entrant for some reason and you're getting SIGCHLD just in the C code > handling SIGCHLD. Try disabling SIGCHLD and just calling > "twisted.internet.process.reapAllProcesses()" a few times a second and see if > that's a good workaround - if so, add a note to the bug. If that is the case > you may be able to reproduce the bug by setting a SIGCHLD handler and then > sending SIGCHLD to the process a lot, no Twisted involved. This was also my reading of the stack trace. Thanks for finding the reference in the Python bug tracker. 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. So how would the signal handler be re-entrant? Perhaps 'pmset' runs a subprocess of its own so that the parent process receives two SIGCHLDs? It looks like this fix might have been included in 2.7.6, since it was fixed on the 2.7 branch. Has it been? -glyph
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python