mirror of
https://github.com/python/cpython.git
synced 2026-01-27 21:25:12 +00:00
On Windows, `long` is a signed 32-bit integer so it can't represent `0xffff_ffff` without overflow. Windows exit codes are unsigned 32-bit integers, so if a child process exits with `-1`, it will be represented as `0xffff_ffff`. Also fix a number of other possible cases where `_Py_HandleSystemExit` could return with an exception set, leading to a `SystemError` (or fatal error in debug builds) later on during shutdown. (cherry picked from commit ad6110a93ffa82cae71af6c78692de065d3871b5) Co-authored-by: Sam Gross <colesbury@gmail.com>
Miscellaneous source files for the main Python shared library