summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2012-11-11 08:08:45 (GMT)
committerGregory P. Smith <greg@krypto.org>2012-11-11 08:08:45 (GMT)
commitd4b645ef423667f179f136bee711b8ca85bd28d8 (patch)
tree6ec01926161be10e961087c1e445534f8e6a94f1
parent8d07c264e4bcaaf1fe3b9fc92ea5730efe13eaa2 (diff)
parent6893732c353ed7cbd2492164aa2b7c64a9f1c840 (diff)
downloadcpython-d4b645ef423667f179f136bee711b8ca85bd28d8.zip
cpython-d4b645ef423667f179f136bee711b8ca85bd28d8.tar.gz
cpython-d4b645ef423667f179f136bee711b8ca85bd28d8.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 d52f9a4..0fff36f 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1412,11 +1412,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'SubprocessError'
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'),
SubprocessError)
diff --git a/Misc/NEWS b/Misc/NEWS
index 30e3217..ba474d8 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -116,6 +116,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.
+
- The subprocess module now raises its own SubprocessError instead of a
RuntimeError in various error situations which should not normally happen.