]> granicus.if.org Git - python/commitdiff
Rename a local variable for readability and change a "this can't
authorGregory P. Smith <greg@krypto.org>
Sun, 11 Nov 2012 07:33:17 +0000 (23:33 -0800)
committerGregory P. Smith <greg@krypto.org>
Sun, 11 Nov 2012 07:33:17 +0000 (23:33 -0800)
happen" print() call into a RuntimeWarning as it should've been in the
first place.  Because nothing should ever cause unexpected stdout output.

Lib/subprocess.py

index 7cd5a571f3799b95c4d8cf7b2aebd7c7580b8319..18e9ed73a8732758b868ff06cefcb5bc672c4396 100644 (file)
@@ -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'