diff options
author | Segev Finer <segev208@gmail.com> | 2017-12-18 09:28:19 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2017-12-18 09:28:19 (GMT) |
commit | b2a6083eb0384f38839d3f1ed32262a3852026fa (patch) | |
tree | d95a4dd911ebc05549fe54dee0b76c67fe5c727a /.travis.yml | |
parent | 87010e85cb37192d63b1a30e5fabba307ad5a3f5 (diff) | |
download | cpython-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