mirror of
https://github.com/python/cpython.git
synced 2025-07-28 21:55:21 +00:00
#6416: Fix compilation of the select module on Windows, as well as test_subprocess:
PIPE_BUF is not defined on Windows, and probably has no meaning there. Anyway the subprocess module uses another way to perform non-blocking reads (with a thread)
This commit is contained in:
parent
b0c828ae4a
commit
ce32eb7406
4 changed files with 10 additions and 7 deletions
|
@ -105,7 +105,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
|
||||
|
||||
|
|
|
@ -418,6 +418,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",
|
||||
"check_output", "CalledProcessError"]
|
||||
|
||||
|
@ -426,11 +432,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():
|
||||
|
|
|
@ -769,7 +769,7 @@ class ProcessTestCase(unittest.TestCase):
|
|||
|
||||
unit_tests = [ProcessTestCase]
|
||||
|
||||
if subprocess._has_poll:
|
||||
if getattr(subprocess, '_has_poll', False):
|
||||
class ProcessTestCaseNoPoll(ProcessTestCase):
|
||||
def setUp(self):
|
||||
subprocess._has_poll = False
|
||||
|
|
|
@ -1746,7 +1746,9 @@ initselect(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__
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue