Mercurial > cpython-lru_cache-weakref
diff Lib/multiprocessing/process.py @ 77378:da5b370f41a1 2.7
Issue #13854: Properly handle non-integer, non-string arg to SystemExit
Previously multiprocessing only expected int or str. It also wrongly
used an exit code of 1 when the argument was a string instead of zero.
| author | Richard Oudkerk <shibturn@gmail.com> |
|---|---|
| date | Wed, 06 Jun 2012 19:01:14 +0100 |
| parents | 9ac8699d88d6 |
| children | 0fa82a06194c |
line wrap: on
line diff
--- a/Lib/multiprocessing/process.py Wed Jun 06 17:52:18 2012 +0100 +++ b/Lib/multiprocessing/process.py Wed Jun 06 19:01:14 2012 +0100 @@ -262,12 +262,12 @@ except SystemExit, e: if not e.args: exitcode = 1 - elif type(e.args[0]) is int: + elif isinstance(e.args[0], int): exitcode = e.args[0] else: - sys.stderr.write(e.args[0] + '\n') + sys.stderr.write(str(e.args[0]) + '\n') sys.stderr.flush() - exitcode = 1 + exitcode = 0 if isinstance(e.args[0], str) else 1 except: exitcode = 1 import traceback
