Issue 18571: Implementation of the PEP 446: non-inheritable file descriptors (original) (raw)
This issue has been migrated to GitHub: https://github.com/python/cpython/issues/62771
classification
Title: | Implementation of the PEP 446: non-inheritable file descriptors | |
---|---|---|
Type: | enhancement | Stage: |
Components: | Versions: | Python 3.4 |
process
Status: | closed | Resolution: | fixed |
---|---|---|---|
Dependencies: | Superseder: | ||
Assigned To: | Nosy List: | neologix, python-dev, vstinner | |
Priority: | normal | Keywords: | patch |
Created on 2013-07-27 15:28 by vstinner, last changed 2022-04-11 14:57 by admin. This issue is now closed.
Files | |||
---|---|---|---|
File name | Uploaded | Description | Edit |
17211acb65b1.diff | vstinner,2013-08-22 22:35 | review | |
ca6217fbec85.diff | vstinner,2013-08-27 22:28 | review |
| Repositories containing patches | | | | | ------------------------------------------------------------------------------------------------------ | | | | | http://hg.python.org/features/pep-446 | | | |
Messages (8) | ||
---|---|---|
msg193786 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2013-07-27 15:47 |
Implementation of the PEP 446. | ||
msg194917 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2013-08-12 01:19 |
+ if (make_inheritable(py_fds_to_keep) < 0) + goto error; + /* errpipe_write is part of py_fds_to_keep. It must be closed at + exec(), but kept open in the child process until exec() is called. */ + if (_Py_set_inheritable((int)errpipe_write, 0, NULL) < 0) + goto error; make_inheritable() should ignore errpipe_write, instead of changing twice the inheritable flag of errpipe_write. | ||
msg195674 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2013-08-19 21:41 |
> make_inheritable() should ignore errpipe_write, instead of changing twice the inheritable flag of errpipe_write. Done in the last patch (00df7fc6d2ef.diff). | ||
msg195930 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2013-08-22 22:55 |
I tested 17211acb65b1.diff on my x86_64 VMs: Linux: Linux-3.9.4-200.fc18.x86_64-x86_64-with-fedora-18-Spherical_Cow => 358 tests OK. OpenIndiana: Solaris-2.11-i86pc-i386-32bit-ELF => 3 tests failed: test_locale test_tcl test_uuid -- none of these failures are related to the PEP and also occurs in default Mac OS X: Darwin-10.8.0-i386-64bit => 352 tests OK. FreeBSD: FreeBSD-9.1-RELEASE-amd64-64bit-ELF => 351 tests OK. Windows: Windows-7-6.1.7601-SP1 => 329 tests OK So it works on all (tested) platforms ;-) | ||
msg196329 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2013-08-27 23:20 |
New changeset ef889c3d5dc6 by Victor Stinner in branch 'default': Issue #18571: Implementation of the PEP 446: file descriptors and file handles http://hg.python.org/cpython/rev/ef889c3d5dc6 | ||
msg196349 - (view) | Author: Charles-François Natali (neologix) * ![]() |
Date: 2013-08-28 05:44 |
14.1 --- a/Lib/multiprocessing/util.py 14.2 +++ b/Lib/multiprocessing/util.py 14.13 # 14.14 # Return pipe with CLOEXEC set on fds 14.15 # 14.16 +# Deprecated: os.pipe() creates non-inheritable file descriptors 14.17 +# since Python 3.4 14.18 +# 14.19 14.20 def pipe(): 14.21 - import _posixsubprocess 14.22 - return _posixsubprocess.cloexec_pipe() 14.23 + return os.pipe() I guess you could remove util.pipe() altogether: it wasn't part of the public API. | ||
msg196355 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2013-08-28 07:37 |
> I guess you could remove util.pipe() altogether: it wasn't part of the public API. Ah yes, I wanted to create an issue for that but I forgot. Here you have: issue #18865. | ||
msg196715 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2013-09-01 08:22 |
New changeset c27527dce71e by Victor Stinner in branch 'default': Issue #18571: Merge duplicate test code http://hg.python.org/cpython/rev/c27527dce71e |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:57:48 | admin | set | github: 62771 |
2013-09-01 08:22:51 | python-dev | set | messages: + |
2013-08-28 19:56:42 | vstinner | link | issue17036 superseder |
2013-08-28 07:37:39 | vstinner | set | messages: + |
2013-08-28 05:44:04 | neologix | set | nosy: + neologixmessages: + |
2013-08-27 23:21:14 | vstinner | set | status: open -> closedresolution: fixed |
2013-08-27 23:20:54 | python-dev | set | nosy: + python-devmessages: + |
2013-08-27 22:28:16 | vstinner | set | files: + ca6217fbec85.diff |
2013-08-23 15:37:04 | vstinner | set | files: - 775890a666bf.diff |
2013-08-22 22:55:32 | vstinner | set | messages: + |
2013-08-22 22:35:14 | vstinner | set | files: + 17211acb65b1.diff |
2013-08-22 00:29:44 | vstinner | set | files: - 43697011a273.diff |
2013-08-22 00:28:59 | vstinner | set | files: + 775890a666bf.diff |
2013-08-21 23:42:43 | vstinner | set | files: - 00df7fc6d2ef.diff |
2013-08-21 23:42:40 | vstinner | set | files: - e4e6f45668c7.diff |
2013-08-21 23:39:57 | vstinner | set | files: + 43697011a273.diff |
2013-08-19 21:41:20 | vstinner | set | messages: + |
2013-08-19 21:10:03 | vstinner | set | files: + 00df7fc6d2ef.diff |
2013-08-12 01:19:13 | vstinner | set | messages: + |
2013-08-12 01:16:32 | vstinner | set | files: - c066794c85cd.diff |
2013-08-12 01:11:00 | vstinner | set | files: + e4e6f45668c7.diff |
2013-08-12 01:10:10 | vstinner | set | files: - 1f8979a8c2c5.diff |
2013-08-12 01:08:13 | vstinner | set | files: + 1f8979a8c2c5.diff |
2013-08-09 23:12:10 | vstinner | set | title: Implementation of the PEP 446: non-inheriable file descriptors -> Implementation of the PEP 446: non-inheritable file descriptors |
2013-07-28 01:21:34 | vstinner | set | files: - 327133193321.diff |
2013-07-28 01:20:03 | vstinner | set | files: + c066794c85cd.diff |
2013-07-27 17:52:29 | vstinner | set | files: + 327133193321.diffkeywords: + patch |
2013-07-27 15:47:01 | vstinner | set | messages: + |
2013-07-27 15:28:59 | vstinner | set | hgrepos: + hgrepo205 |
2013-07-27 15:28:51 | vstinner | create |