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.
This commit is contained in:
Gregory P. Smith 2012-11-11 00:08:45 -08:00
commit d4b645ef42
2 changed files with 5 additions and 3 deletions

View File

@ -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)

View File

@ -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.