diff options
-rw-r--r-- | Doc/library/select.rst | 2 | ||||
-rw-r--r-- | Lib/subprocess.py | 11 | ||||
-rw-r--r-- | Lib/test/test_subprocess.py | 2 | ||||
-rw-r--r-- | Modules/selectmodule.c | 2 |
4 files changed, 10 insertions, 7 deletions
diff --git a/Doc/library/select.rst b/Doc/library/select.rst index bffb9cb..eea442b 100644 --- a/Doc/library/select.rst +++ b/Doc/library/select.rst @@ -99,7 +99,7 @@ The module defines the following: Files reported as ready for writing by :func:`select`, :func:`poll` or similar interfaces in this module are guaranteed to not block on a write of up to :const:`PIPE_BUF` bytes. - This value is guaranteed by POSIX to be at least 512. + This value is guaranteed by POSIX to be at least 512. Availability: Unix. .. versionadded:: 2.7 diff --git a/Lib/subprocess.py b/Lib/subprocess.py index f7361e1..2e7864c 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -376,6 +376,12 @@ else: import fcntl import pickle + # When select or poll has indicated that the file is writable, + # we can write up to _PIPE_BUF bytes without risk of blocking. + # POSIX defines PIPE_BUF as >= 512. + _PIPE_BUF = getattr(select, 'PIPE_BUF', 512) + + __all__ = ["Popen", "PIPE", "STDOUT", "call", "check_call", "getstatusoutput", "getoutput", "check_output", "CalledProcessError"] @@ -384,11 +390,6 @@ try: except: MAXFD = 256 -# When select or poll has indicated that the file is writable, -# we can write up to _PIPE_BUF bytes without risk of blocking. -# POSIX defines PIPE_BUF as >= 512. -_PIPE_BUF = getattr(select, 'PIPE_BUF', 512) - _active = [] def _cleanup(): diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index f2a396c..265859a 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -801,7 +801,7 @@ class CommandTests(unittest.TestCase): unit_tests = [ProcessTestCase, CommandTests] -if subprocess._has_poll: +if getattr(subprocess, '_has_poll', False): class ProcessTestCaseNoPoll(ProcessTestCase): def setUp(self): subprocess._has_poll = False diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c index 0855375..d40e8b5 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -1764,7 +1764,9 @@ PyInit_select(void) Py_INCREF(SelectError); PyModule_AddObject(m, "error", SelectError); +#ifdef PIPE_BUF PyModule_AddIntConstant(m, "PIPE_BUF", PIPE_BUF); +#endif #if defined(HAVE_POLL) #ifdef __APPLE__ |