homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

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) * (Python committer) Date: 2013年07月27日 15:47
Implementation of the PEP 446.
msg194917 - (view) Author: STINNER Victor (vstinner) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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) (Python triager) 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) * (Python committer) 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) * (Python committer) 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) (Python triager) 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:48adminsetgithub: 62771
2013年09月01日 08:22:51python-devsetmessages: + msg196715
2013年08月28日 19:56:42vstinnerlinkissue17036 superseder
2013年08月28日 07:37:39vstinnersetmessages: + msg196355
2013年08月28日 05:44:04neologixsetnosy: + neologix
messages: + msg196349
2013年08月27日 23:21:14vstinnersetstatus: open -> closed
resolution: fixed
2013年08月27日 23:20:54python-devsetnosy: + python-dev
messages: + msg196329
2013年08月27日 22:28:16vstinnersetfiles: + ca6217fbec85.diff
2013年08月23日 15:37:04vstinnersetfiles: - 775890a666bf.diff
2013年08月22日 22:55:32vstinnersetmessages: + msg195930
2013年08月22日 22:35:14vstinnersetfiles: + 17211acb65b1.diff
2013年08月22日 00:29:44vstinnersetfiles: - 43697011a273.diff
2013年08月22日 00:28:59vstinnersetfiles: + 775890a666bf.diff
2013年08月21日 23:42:43vstinnersetfiles: - 00df7fc6d2ef.diff
2013年08月21日 23:42:40vstinnersetfiles: - e4e6f45668c7.diff
2013年08月21日 23:39:57vstinnersetfiles: + 43697011a273.diff
2013年08月19日 21:41:20vstinnersetmessages: + msg195674
2013年08月19日 21:10:03vstinnersetfiles: + 00df7fc6d2ef.diff
2013年08月12日 01:19:13vstinnersetmessages: + msg194917
2013年08月12日 01:16:32vstinnersetfiles: - c066794c85cd.diff
2013年08月12日 01:11:00vstinnersetfiles: + e4e6f45668c7.diff
2013年08月12日 01:10:10vstinnersetfiles: - 1f8979a8c2c5.diff
2013年08月12日 01:08:13vstinnersetfiles: + 1f8979a8c2c5.diff
2013年08月09日 23:12:10vstinnersettitle: Implementation of the PEP 446: non-inheriable file descriptors -> Implementation of the PEP 446: non-inheritable file descriptors
2013年07月28日 01:21:34vstinnersetfiles: - 327133193321.diff
2013年07月28日 01:20:03vstinnersetfiles: + c066794c85cd.diff
2013年07月27日 17:52:29vstinnersetfiles: + 327133193321.diff
keywords: + patch
2013年07月27日 15:47:01vstinnersetmessages: + msg193786
2013年07月27日 15:28:59vstinnersethgrepos: + hgrepo205
2013年07月27日 15:28:51vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /