If you run the attached trivialthread2.py script on your desktop in a
terminal it exits normally, with no processes left behind.
Now, instead run it inside WingIDE 3.1 (on Hardy). It appears to
complete, but look at what ps x tells you, even after exiting WingIDE.
The number of left-behind processes (out of 50) varies, but has been in
the 25-35 range. This happens only on Hardy, not on Gutsy.
You will have to 'killall -9 python' to get rid of the leftover processes.
ps x | grep python | wc
30 441 8130
11496 pts/0 S 0:00 /usr/bin/python -u
/usr/lib/wingide-personal3.1/bin/wingdb.py 127.0.0.1:37894 0
--no-first-stop r''+chr(60)+r'none'+chr(62)+r'' --nowait-on-exit
11503 pts/0 S 0:00 /usr/bin/python -u
/usr/lib/wingide-personal3.1/bin/wingdb.py 127.0.0.1:37894 0
--no-first-stop r''+chr(60)+r'none'+chr(62)+r'' --nowait-on-exit
[....]
The attached script is contrived of course, but this problem prevents me
from running a larger application in WingIDE, where subprocess.popen()
hangs at os.read inside _read_no_intr in subprocess.py
def _read_no_intr(self, fd, buffersize):
"""Like os.read, but retries on EINTR"""
while True:
try:
--> return os.read(fd, buffersize)
except OSError, e:
if e.errno == errno.EINTR:
continue
else:
raise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trivialthread2.py
Type: text/x-python
Size: 487 bytes
Desc: not available
Url : /pipermail/wingide-users/attachments/20090417/31a761bb/trivialthread2.py