mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
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.
This commit is contained in:
parent
e41682b994
commit
29471de459
3 changed files with 36 additions and 3 deletions
|
@ -271,11 +271,11 @@ class Process(object):
|
|||
except SystemExit as 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')
|
||||
exitcode = 1
|
||||
sys.stderr.write(str(e.args[0]) + '\n')
|
||||
exitcode = 0 if isinstance(e.args[0], str) else 1
|
||||
except:
|
||||
exitcode = 1
|
||||
import traceback
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue