Charles-François Natali added the comment:
It's fixed now that subprocess defaults to close_fds=True.
--
resolution: - out of date
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
Changes by Terry J. Reedy tjre...@udel.edu:
--
versions: +Python 3.3 -Python 2.6, Python 3.1
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3006
___
Charles-Francois Natali neolo...@free.fr added the comment:
I cannot figure out why the closesocket's graceful
shutdown is waiting for the Popen command to complete.
It doesn't. Your main process closes its socket. You could see it with a
netstat/lsof (don't know under Windows).
The problem
Changes by Terry J. Reedy tjre...@udel.edu:
--
versions: +Python 2.7, Python 3.1, Python 3.2 -Python 3.0
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3006
___
Changes by Nicolas Grilly [EMAIL PROTECTED]:
--
nosy: +ngrilly
___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue3006
___
___
Python-bugs-list mailing list
Antoine Pitrou [EMAIL PROTECTED] added the comment:
It's not perfect--another thread could still spawn a subprocess in
between
Then it could be done in socketmodule.c, when still holding the GIL.
Python code can change back the socket to inheritable afterwards if it
wants to.
We probably
Kevin Watters [EMAIL PROTECTED] added the comment:
I found a workaround for this issue (attached) via the kernel32.dll
function SetHandleInformation. You can patch the socket class to set all
newly created sockets as uninheritable.
It's not perfect--another thread could still spawn a subprocess
Changes by Kevin Watters [EMAIL PROTECTED]:
--
nosy: +kevinwatters
___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue3006
___
___
Python-bugs-list mailing
New submission from Matt Mulsow [EMAIL PROTECTED]:
On Windows, when a suprocess.Popen command is issued while
a socket connection is being handled the socket connection
will not close until the output of the subprocess is consumed.
The connection remains open even though the request.close()