Opened 13 years ago
Closed 8 years ago
#733 defect closed fixed (fixed)
twisted's SIGCHLD handler breaks popen.
Description (last modified by )
Highest priority is for regressions and reviews.
Change History (43)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
OK, no useful feedback, but AWESOME for figuring this out, james. Thanks.
comment:3 Changed 13 years ago by
OK wait no, I changed my mind. Will passing this flag still (properly) interrupt select()?
comment:4 Changed 13 years ago by
According to my documentation it will.). May want to make *sure* by testing, though.
comment:5 Changed 13 years ago by
On Redhat 7.3 I had a hard time reproducing this, but: >>> signal.alarm(1); f=os.popen("sleep 5; echo 'Foo'"); f.read() reproduced it some of the time.
comment:6 Changed 11 years ago by 11 years ago by
moshez made an interesting suggestion on IRC -- I wonder if we can implement the missing add_signalflags function with ctypes?
comment:8 Changed 11 years ago by
comment:9 Changed 11 years ago by
comment:10 Changed 11 years ago by 11 years ago by
comment:12 Changed 10 years ago by
the ctypes version (for linux):
import ctypes import signal libc = ctypes.CDLL("libc.so.6") libc.siginterrupt(signal.SIGCHLD, 0)
comment:13 Changed 10 years ago: 16 Changed 10 years ago by:
python 2.6 will have signal.siginterrupt and signal.set_wakeup_fd.
comment:15 Changed 9 years ago by
comment:16 Changed 9 years ago by:
python 2.6 will have signal.siginterrupt and signal.set_wakeup_fd.
Now a Python 2.6 buildslave available
comment:17 Changed 9 years ago by
comment:18 Changed 9 years ago by
comment:19 Changed 9 years ago by
Also if you're working on a ticket, please accept it (or at least reassign it to yourself).
comment:20 Changed 9 years ago 9 years ago by
comment:22 Changed 9 years ago by
This is weird.
Under 2.5, using many different variations of James's example, I can no longer reproduce this problem. It still raises an exception on 2.5 though.
comment:23 Changed 9 years ago by 8 years ago by
So what's left to do on that branch?
From a cusory review, I'd say:
- it needs a test.
- It shouldn't use the custom _sigchld.c module under python 2.6.
comment:25 Changed 8 years ago by 8 years ago by
It's a real issue.
comment:27 Changed 8 years ago by
comment:28 Changed 8 years ago by
comment:29 Changed 8 years ago by
Okay!
comment:30 Changed 8 years ago 8 years ago by
comment:32 Changed 8 years ago by
Thanks. Fixed those points. Please review.
comment:33 Changed 8 years ago by
comment:34 Changed 8 years ago by 8 years ago by
comment:36 Changed 8 years ago by
Sigh, forgot about that. Fixed now.
comment:37 Changed 8 years ago by
The example shown at the top of the ticket works for me. trial twisted reports no errors.
comment:38 Changed 8 years ago by
comment:39 Changed 8 years ago by
comment:40 Changed 8 years ago by
comment:41 Changed 8 years ago by
Yay for C code!
It appears that the feedback from other reviewers has been adequately dealt with. I can't find anything else to complain about.
Merge, and rejoice. (In that order.)
comment:42 Changed 8 years ago by
.