[Python-Dev] subprocess, buffered files, pipes and broken pipe errors
Serhiy Storchaka
storchaka at gmail.com
Fri Mar 6 16:10:44 CET 2015
More information about the Python-Dev mailing list
Fri Mar 6 16:10:44 CET 2015
- Previous message (by thread): [Python-Dev] subprocess, buffered files, pipes and broken pipe errors
- Next message (by thread): [Python-Dev] PEP 488: elimination of PYO files
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 06.03.15 14:53, Victor Stinner wrote: > I propose to ignore BrokenPipeError in Popen.__exit__, as done in > communicate(), for convinience: > http://bugs.python.org/issue23570 > > Serhiy wants to keep BrokenPipeError, he wrote that file.close() > should not ignore write errors (read the issue for details). I rather said about file.__exit__. > I consider that BrokenPipeError on a pipe is different than a write > error on a regular file. > > EPIPE and SIGPIPE are designed to notify that the pipe is closed and > that it's now inefficient to continue to write into this pipe. And into the file like open('/dev/stdout', 'wb'). > Ignoring BrokenPipeError in Popen.__exit__() respects this constrain > because the method closes stdin and only returns when the process > exited. So the caller will not write anything into stdin anymore. And the caller will not write anything into the file after calling file.__exit__. I don't see large difference between open('file', 'wb') and Popen('cat >file', stdin=PIPE), between sys.stdout with redirecting stdout and running external program with Pipe().
- Previous message (by thread): [Python-Dev] subprocess, buffered files, pipes and broken pipe errors
- Next message (by thread): [Python-Dev] PEP 488: elimination of PYO files
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list