summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2012-11-11 07:33:17 (GMT)
committerGregory P. Smith <greg@krypto.org>2012-11-11 07:33:17 (GMT)
commitf44c9da16655395f57d3686cb4d82b651489a974 (patch)
tree590006943e408977bb81c9ab479938db22144170
parent3d8e776cd932ff79fe181984cacce9ff8bcf3e4c (diff)
downloadcpython-f44c9da16655395f57d3686cb4d82b651489a974.zip
cpython-f44c9da16655395f57d3686cb4d82b651489a974.tar.gz
cpython-f44c9da16655395f57d3686cb4d82b651489a974.tar.bz2
Rename a local variable for readability and change a "this can't
happen" print() call into a RuntimeWarning as it should've been in the first place. Because nothing should ever cause unexpected stdout output.
-rw-r--r--Lib/subprocess.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 7cd5a57..18e9ed7 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1351,26 +1351,28 @@ class Popen(object):
# Wait for exec to fail or succeed; possibly raising an
# exception (limited in size)
- data = bytearray()
+ errpipe_data = bytearray()
while True:
part = _eintr_retry_call(os.read, errpipe_read, 50000)
- data += part
- if not part or len(data) > 50000:
+ errpipe_data += part
+ if not part or len(errpipe_data) > 50000:
break
finally:
# be sure the FD is closed no matter what
os.close(errpipe_read)
- if data:
+ if errpipe_data:
try:
_eintr_retry_call(os.waitpid, self.pid, 0)
except OSError as e:
if e.errno != errno.ECHILD:
raise
try:
- exception_name, hex_errno, err_msg = data.split(b':', 2)
+ exception_name, hex_errno, err_msg = (
+ errpipe_data.split(b':', 2))
except ValueError:
- print('Bad exception data:', repr(data))
+ warnings.warn(RuntimeWarning(
+ 'Bad exception data: %r' % errpipe_data))
exception_name = b'RuntimeError'
hex_errno = b'0'
err_msg = b'Unknown'