Issue #12105: Add O_CLOEXEC to the os module.
This commit is contained in:
parent
f738d33e5d
commit
1e045b1831
|
@ -1298,6 +1298,7 @@ or `the MSDN <http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Window
|
|||
O_NOCTTY
|
||||
O_SHLOCK
|
||||
O_EXLOCK
|
||||
O_CLOEXEC
|
||||
|
||||
These constants are only available on Unix.
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import errno
|
|||
import sys
|
||||
import time
|
||||
import os
|
||||
import fcntl
|
||||
import pwd
|
||||
import shutil
|
||||
import stat
|
||||
|
@ -307,6 +308,12 @@ class PosixTester(unittest.TestCase):
|
|||
fp1.close()
|
||||
fp2.close()
|
||||
|
||||
@unittest.skipUnless(hasattr(os, 'O_CLOEXEC'), "needs os.O_CLOEXEC")
|
||||
def test_oscloexec(self):
|
||||
fd = os.open(support.TESTFN, os.O_RDONLY|os.O_CLOEXEC)
|
||||
self.addCleanup(os.close, fd)
|
||||
self.assertTrue(fcntl.fcntl(fd, fcntl.F_GETFD) & fcntl.FD_CLOEXEC)
|
||||
|
||||
def test_osexlock(self):
|
||||
if hasattr(posix, "O_EXLOCK"):
|
||||
fd = os.open(support.TESTFN,
|
||||
|
|
|
@ -153,6 +153,8 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #12105: Add O_CLOEXEC to the os module.
|
||||
|
||||
- Issue #12079: Decimal('Infinity').fma(Decimal('0'), (3.91224318126786e+19+0j))
|
||||
now raises TypeError (reflecting the invalid type of the 3rd argument) rather
|
||||
than Decimal.InvalidOperation.
|
||||
|
|
|
@ -9783,6 +9783,9 @@ all_ins(PyObject *d)
|
|||
#ifdef PRIO_USER
|
||||
if (ins(d, "PRIO_USER", (long)PRIO_USER)) return -1;
|
||||
#endif
|
||||
#ifdef O_CLOEXEC
|
||||
if (ins(d, "O_CLOEXEC", (long)O_CLOEXEC)) return -1;
|
||||
#endif
|
||||
/* posix - constants for *at functions */
|
||||
#ifdef AT_SYMLINK_NOFOLLOW
|
||||
if (ins(d, "AT_SYMLINK_NOFOLLOW", (long)AT_SYMLINK_NOFOLLOW)) return -1;
|
||||
|
|
Loading…
Reference in New Issue