[New-bugs-announce] [issue16850] Atomic open + close-and-exec
STINNER Victor
report at bugs.python.org
Thu Jan 3 16:23:26 CET 2013
New submission from STINNER Victor:
Recent version on different operating systems support opening a file with close-on-exec flag set immediatly (atomic). This feature fixes a race condition when the process calls execv() between open() and fcntl() (to set the FD_CLOEXEC flag to the newly opened file).
It would be nice to expose this feature in Python. The problem is the find a portable and safe way to expose the feature: neologix is against a best-effort function. For example, Linux kernel older than 2.6.22 simply ignores O_CLOEXEC flag (while the libc may expose it).
The feature looks to be supported by at least:
* Linux kernel >= 2.6.23
* FreeBSD 8+
* Windows: _open(filename, _O_NOINHERIT). Is it supported by Windows XP and older versions? http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx
See also:
* Issue #12760 (closed): This issue added an "x" mode to open() to create a file in exclusive mode
* Issue #12103: "Document how to use open with os.O_CLOEXEC"
* Issue #12105: It was proposed to add an "e" mode to open() for O_CLOEXEC
----------
components: Interpreter Core
messages: 178949
nosy: alexey-smirnov, amaury.forgeotdarc, haypo, neologix, sbt
priority: normal
severity: normal
status: open
title: Atomic open + close-and-exec
versions: Python 3.4
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16850>
_______________________________________
More information about the New-bugs-announce
mailing list