summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2012-11-11 08:04:13 (GMT)
committerGregory P. Smith <greg@krypto.org>2012-11-11 08:04:13 (GMT)
commit3aee2221229b9802dcc27b2709d5e97918b8ad46 (patch)
tree38ea6510abf6b25ea38b148312f02d4d3873427d
parentf44c9da16655395f57d3686cb4d82b651489a974 (diff)
downloadcpython-3aee2221229b9802dcc27b2709d5e97918b8ad46.zip
cpython-3aee2221229b9802dcc27b2709d5e97918b8ad46.tar.gz
cpython-3aee2221229b9802dcc27b2709d5e97918b8ad46.tar.bz2
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.
-rw-r--r--Lib/subprocess.py5
-rw-r--r--Misc/NEWS3
2 files changed, 5 insertions, 3 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 18e9ed7..fcc3e6e 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1371,11 +1371,10 @@ class Popen(object):
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
index 16bfb30..49d6a1a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -162,6 +162,9 @@ Core and Builtins
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.