summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorSegev Finer <segev208@gmail.com>2017-12-18 09:28:19 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2017-12-18 09:28:19 (GMT)
commitb2a6083eb0384f38839d3f1ed32262a3852026fa (patch)
treed95a4dd911ebc05549fe54dee0b76c67fe5c727a /.travis.yml
parent87010e85cb37192d63b1a30e5fabba307ad5a3f5 (diff)
downloadcpython-b2a6083eb0384f38839d3f1ed32262a3852026fa.zip
cpython-b2a6083eb0384f38839d3f1ed32262a3852026fa.tar.gz
cpython-b2a6083eb0384f38839d3f1ed32262a3852026fa.tar.bz2
bpo-19764: Implemented support for subprocess.Popen(close_fds=True) on Windows (#1218)
Even though Python marks any handles it opens as non-inheritable there is still a race when using `subprocess.Popen` since creating a process with redirected stdio requires temporarily creating inheritable handles. By implementing support for `subprocess.Popen(close_fds=True)` we fix this race. In order to implement this we use PROC_THREAD_ATTRIBUTE_HANDLE_LIST which is available since Windows Vista. Which allows to pass an explicit list of handles to inherit when creating a process. This commit also adds `STARTUPINFO.lpAttributeList["handle_list"]` which can be used to control PROC_THREAD_ATTRIBUTE_HANDLE_LIST directly.
Diffstat (limited to '.travis.yml')
0 files changed, 0 insertions, 0 deletions