Message200552
> Apparently, the stdout pipe was closed by the parent process
Could it be that selecting for *read* on the *write* end of a pipe is
always ready? In _UnixWritePipeTransport there's a read handler that
immediately closes the pipe as soon as it called. I vaguely remember a
discussion on python-tulip that this might be Linux-specific behavior. (The
reason is that otherwise you can't find out whether the other end was
closed unless you attempt to write to the pipe.)
To test this theory, it should be sufficient to comment out line 280
self._loop.add_reader(self._fileno, self._read_ready)
from unix_events.py. This will make test_subprocess_kill() hang but it
should not affect test_subprocess_interactive. (So it is not a fix, just a
way to confirm the theory.) |
|
Date |
User |
Action |
Args |
2013-10-20 08:42:10 | gvanrossum | set | recipients:
+ gvanrossum, db3l, ncoghlan, pitrou, larry, skrah, neologix, python-dev, David.Edelsohn |
2013-10-20 08:42:09 | gvanrossum | link | issue19293 messages |
2013-10-20 08:42:09 | gvanrossum | create | |
|