This is the mail archive of the
mailing list for the Cygwin project.
closing stdout in a child python process means that process doesn't receive bytes from stdin anymore.
- From: zooko <zooko at zooko dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 13 Nov 2008 06:30:10 -0700
- Subject: closing stdout in a child python process means that process doesn't receive bytes from stdin anymore.
When someone runs "bin/trial --reactor=select
childConnectionLost" on cygwin, using the cygwin version of Python,
either manually (which I've done on two cygwin installations), or
from the twisted buildbot -- http://buildbot.twistedmatrix.com/
builders/cygwin-py2.5-select -- then once the child process closes
its fd #2, it subsequently receives no further bytes from its fd #1,
even though the parent process has written some bytes to that pipe.
I can reproduce this by running the Twisted unit tests, like this:
step 1: get twisted:
svn co svn://svn.twistedmatrix.com/svn/Twisted/trunk twisted
step 2: cd into the top-level directory, and run trial:
cd twisted && python ./bin/trial --reactor=select
On other platforms that cygwin (see the Twisted buildbot -- http://
buildbot.twistedmatrix.com/supported?branch=trunk -- then this test
exits quickly with success. On cygwin, using cygwin python.exe, this
test instead enter an infinite loop as the child waits to receive
further bytes on its stdin, and the parent waits for the child to
respond to those bytes. (This doesn't happen on cygwin with the
standard Win32 build of python.exe, of course, anymore than it
happens on a Windows system without cygwin installed when using that
I've opened a ticket about this on the twisted issue tracker as well:
http://twistedmatrix.com/trac/ticket/3529 # closing stdout in a child
process on cygwin means that process doesn't receive bytes from stdin
anymore. I think.
I've opened a ticket about this on the python issue tracker as well:
http://bugs.python.org/issue4295 # closing stdout in a child process
on cygwin means that process doesn't receive bytes from stdin
anymore. I think.
The version of the cygwin package of python is 2.5.1-2.
http://allmydata.org -- Tahoe, the Least-Authority Filesystem
http://allmydata.com -- back up all your files for $10/month
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html