Martin v. Löwis added the comment:

To me, this still looks like an OS bug. The difference between 2.7 and 3.2 
seems to be that 3.2 will call the _nocancel syscalls, which I guess results 
from using a different version of the C library, or OSX deployment target, or 
something. However, the system calls are almost identical, see

http://fxr.watson.org/fxr/source/bsd/kern/sys_generic.c?v=xnu-1699.24.8#L448

(i.e. the "cancel" version calls __pthread_testcancel, which may result in 
EINTR, but not in this trace). So ISTM that in the failing case, the child 
successfully writes to the file descriptor (7 bytes written), yet the parent 
reads only 0 bytes out of the pty, which makes it look like the kernel discards 
the data.

The trace isn't exactly from the script you provided, right? Because the script 
sends the string "testing123", whereas the trace shows "testing".

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15898>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to