[Python-checkins] cpython (merge 3.2 -> 3.3): Remove the subprocess "bad exception data" warning (formerly a print!)

gregory.p.smith python-checkins at python.org
Sun Nov 11 09:08:59 CET 2012


http://hg.python.org/cpython/rev/2cc7e3f9cd35
changeset:   80377:2cc7e3f9cd35
branch:      3.3
parent:      80373:fd45ae32d12f
parent:      80376:bbfff05ed34f
user:        Gregory P. Smith <greg at krypto.org>
date:        Sun Nov 11 00:04:52 2012 -0800
summary:
  Remove the subprocess "bad exception data" warning (formerly a print!)
all together and just include the repr of the data in the exception
itself instead of the useless string "Unknown".

This code path is unlikely to even be possible to take given the
nature of the pipe it gets subprocess data from.

files:
  Lib/subprocess.py |  5 ++---
  Misc/NEWS         |  3 +++
  2 files changed, 5 insertions(+), 3 deletions(-)


diff --git a/Lib/subprocess.py b/Lib/subprocess.py
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1412,11 +1412,10 @@
                     exception_name, hex_errno, err_msg = (
                             errpipe_data.split(b':', 2))
                 except ValueError:
-                    warnings.warn(RuntimeWarning(
-                            'Bad exception data: %r' % errpipe_data))
                     exception_name = b'RuntimeError'
                     hex_errno = b'0'
-                    err_msg = b'Unknown'
+                    err_msg = (b'Bad exception data from child: ' +
+                               repr(errpipe_data))
                 child_exception_type = getattr(
                         builtins, exception_name.decode('ascii'),
                         RuntimeError)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -83,6 +83,9 @@
 Library
 -------
 
+- Remove a bare print to stdout from the subprocess module that could have
+  happened if the child process wrote garbage to its pre-exec error pipe.
+
 - Issue #16327: The subprocess module no longer leaks file descriptors
   used for stdin/stdout/stderr pipes to the child when fork() fails.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list