From: Charles-François Natali Date: Fri, 4 Jan 2013 17:33:02 +0000 (+0100) Subject: Issue #16860: In tempfile, use O_CLOEXEC when available to set the X-Git-Tag: v3.4.0a1~1693 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b9a76e292088c4931460aec674ad5a4bd2f8c7a6;p=python Issue #16860: In tempfile, use O_CLOEXEC when available to set the close-on-exec flag atomically. --- diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 90b3c20ac4..0aaee541c3 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -57,6 +57,8 @@ except ImportError: _allocate_lock = _thread.allocate_lock _text_openflags = _os.O_RDWR | _os.O_CREAT | _os.O_EXCL +if hasattr(_os, 'O_CLOEXEC'): + _text_openflags |= _os.O_CLOEXEC if hasattr(_os, 'O_NOINHERIT'): _text_openflags |= _os.O_NOINHERIT if hasattr(_os, 'O_NOFOLLOW'): diff --git a/Misc/NEWS b/Misc/NEWS index e63803960c..284ce1a3bc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -204,6 +204,9 @@ Core and Builtins Library ------- +- Issue #16860: In tempfile, use O_CLOEXEC when available to set the + close-on-exec flag atomically. + - Issue #16674: random.getrandbits() is now 20-40% faster for small integers. - Issue #16009: JSON error messages now provide more information.