Sébastien Sablé added the comment:
PIPE_BUF in unistd.h is defined to 32768.
The test works with PIPE_BUF changed up to 6144 but won't work with 7168.
We could probably use 4096 as a safe value for faster result if needed.
I just do not define the value and leave the default of 512 be used.
H
Sébastien Sablé added the comment:
The problem does not happen with Python 2.6.
The difference is that:
* in Python 2.6, the subprocess module would try to write at most 512 bytes
cf L1221 in subprocess.py
chunk = input[input_offset : input_offset + 512]
* in Python 2.7 and py3k, the subproce
New submission from Sébastien Sablé :
On AIX, the test test_communicate_pipe_buf in test_subprocess will hang forever
(in py3k and py27):
test_communicate_pipe_buf (__main__.ProcessTestCase) ...
File "Lib/test/test_subprocess.py", line 386, in test_communicate_pipe_buf
(stdout, stderr)