mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
bpo-46364: Use sockets for stdin of asyncio only on AIX (GH-30596)
Signed-off-by: Christoph Hamsen <hamsen.christoph@posteo.de>
Co-authored-by: July Tikhonov <july.tikh@gmail.com>
(cherry picked from commit c9ed0327a9
)
Co-authored-by: Christoph Hamsen <37963496+xopham@users.noreply.github.com>
This commit is contained in:
parent
c7761bbc32
commit
595ef03c7c
3 changed files with 24 additions and 4 deletions
|
@ -800,12 +800,11 @@ class _UnixSubprocessTransport(base_subprocess.BaseSubprocessTransport):
|
|||
|
||||
def _start(self, args, shell, stdin, stdout, stderr, bufsize, **kwargs):
|
||||
stdin_w = None
|
||||
if stdin == subprocess.PIPE:
|
||||
# Use a socket pair for stdin, since not all platforms
|
||||
if stdin == subprocess.PIPE and sys.platform.startswith('aix'):
|
||||
# Use a socket pair for stdin on AIX, since it does not
|
||||
# support selecting read events on the write end of a
|
||||
# socket (which we use in order to detect closing of the
|
||||
# other end). Notably this is needed on AIX, and works
|
||||
# just fine on other platforms.
|
||||
# other end).
|
||||
stdin, stdin_w = socket.socketpair()
|
||||
try:
|
||||
self._proc = subprocess.Popen(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue