That's interesting, thanks for your response.
Charles-François Natali <neologix@free.fr> added the comment:
That's because the other end of the pipe (p1) is open in the child process (FDs are inherited on fork()).
Just add
p1.close()
at the beginning of fn() and you'll get EOF.
Closing as invalid.
----------
nosy: +neologix
resolution: -> invalid
stage: -> committed/rejected
status: open -> closed
_______________________________________
Python tracker <report@bugs.python.org>
<http://bugs.python.org/issue12488>
_______________________________________