[New-bugs-announce] [issue39241] Popen of python3.6 hangs on os.read(errpipe_read, 50000)
Xu
report at bugs.python.org
Mon Jan 6 20:35:08 EST 2020
New submission from Xu <liuxu1005 at gmail.com>:
I have a piece code hangs on os.read(errpipe_read, 50000)
So I compared the python3.6 with python2.7 on _execute_child, I saw:
for python2.7 we create the errpipe_read/write with pipe_cloexec()
1213 # For transferring possible exec failure from child to parent
1214 # The first char specifies the exception type: 0 means
1215 # OSError, 1 means some other error.
1216 errpipe_read, errpipe_write = self.pipe_cloexec()
while for python3.6 we create the errpipe_read/write with pipe()
1251 # For transferring possible exec failure from child to parent.
1252 # Data format: "exception name:hex errno:description"
1253 # Pickle is not used; it is complex and involves memory allocation.
1254 errpipe_read, errpipe_write = os.pipe()
Does that mean python3.6 doesn't set the the flag FD_CLOEXEC on the pipe ?
----------
components: Library (Lib)
messages: 359486
nosy: liuxu1005
priority: normal
severity: normal
status: open
title: Popen of python3.6 hangs on os.read(errpipe_read, 50000)
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39241>
_______________________________________
More information about the New-bugs-announce
mailing list