[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-09 Thread STINNER Victor
STINNER Victor added the comment: regrtest now workarounds this issue using timeouts on subprocess.Popen.wait() and threading.Thread.join() operations: see bpo-37531. -- ___ Python tracker

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-09 Thread miss-islington
miss-islington added the comment: New changeset 359a1975cbca488ccd5ea13bd7268d7e88664078 by Miss Islington (bot) in branch '3.8': bpo-37531: regrtest ignores output on timeout (GH-16659) https://github.com/python/cpython/commit/359a1975cbca488ccd5ea13bd7268d7e88664078 --

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-09 Thread miss-islington
miss-islington added the comment: New changeset 598bfa4d457d61431142ad99ecbb9bd10cf314e6 by Miss Islington (bot) in branch '3.7': bpo-37531: regrtest ignores output on timeout (GH-16659) https://github.com/python/cpython/commit/598bfa4d457d61431142ad99ecbb9bd10cf314e6 -- nosy:

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-09 Thread miss-islington
Change by miss-islington : -- pull_requests: +16258 pull_request: https://github.com/python/cpython/pull/16676 ___ Python tracker ___

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-09 Thread miss-islington
Change by miss-islington : -- pull_requests: +16260 pull_request: https://github.com/python/cpython/pull/16677 ___ Python tracker ___

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-08 Thread STINNER Victor
STINNER Victor added the comment: New changeset 0ec618af98ac250a91ee9c91f8569e6df6772758 by Victor Stinner in branch 'master': bpo-37531: regrtest ignores output on timeout (GH-16659) https://github.com/python/cpython/commit/0ec618af98ac250a91ee9c91f8569e6df6772758 --

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-10-08 Thread STINNER Victor
Change by STINNER Victor : -- keywords: +patch pull_requests: +16243 stage: -> patch review pull_request: https://github.com/python/cpython/pull/16659 ___ Python tracker ___

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-09-18 Thread STINNER Victor
STINNER Victor added the comment: Hum, I see a similar behavior on Linux. Try attached communicate_close.py (I added newlines for readability): --- vstinner@apu$ python3 communicate_close.py process 1: pid 13089 process 1: process 2 spawned (pid 13090) process 1: stdout pipe

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-09-17 Thread Jeremy Kloth
Change by Jeremy Kloth : -- nosy: +jkloth ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-09-17 Thread STINNER Victor
STINNER Victor added the comment: See also bpo-37424 was has been fixed: "subprocess.run timeout does not function if shell=True and capture_output=True". -- ___ Python tracker

[issue38207] subprocess: On Windows, Popen.kill() + Popen.communicate() is blocking until all processes using the pipe close the pipe

2019-09-17 Thread STINNER Victor
New submission from STINNER Victor : On Windows, the communicate() method of subprocess.Popen is implemented with threads calling: def _readerthread(self, fh, buffer): buffer.append(fh.read()) fh.close() where fh is one the Popen pipes: popen.stdout or popen.stderr. For stdout=PIPE