Hi Folks, I'm getting a problem where cygwin parent processes spawning non-cygwin child processes no longer detect when stdin has been closed. Please see the sample python code at the end where I've isolated the problem. I've got cygwin's python2 running spawn_bar.py that popen's a native non-cygwin python2 running bar.py. The steps to reproduce are to run this command using the two files detailed at the end of this email:
$ python2 spawn_bar.py On Windows 10, this command quits right away as expected when using cygwin 3.0.7 but hangs when using cygwin 3.1.2 (version number as reported from running `cygcheck -c cygwin`). Looking through the release logs, nothing sticks out except for the change in 3.1.0 that mentions PTY changes. However, when I originally ran into this, it wasn't even being done through a terminal but some background script. Any ideas? Thanks, -Edward # spawn_bar.py import os import subprocess import sys python = "python2" # this works python = "/path/to/native/python2" # this hangs p = subprocess.Popen([python, 'bar.py'], stdin=subprocess.PIPE) p.stdin.close() pid, status = os.waitpid(p.pid, 0) # bar.py import sys for line in sys.stdin: print 'got: ' + line -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple