diff options
author | Georg Brandl <georg@python.org> | 2011-05-15 08:42:56 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2011-05-15 08:42:56 (GMT) |
commit | 2bff9fcec23798dd192932842bae9855ed47a862 (patch) | |
tree | 075db2aae158618d22b8e9627b560a38a65f8ef8 | |
parent | 758b85e9d4cf714a92b6d4032c3cf00308539810 (diff) | |
parent | 5ebfe6d9a96beaa190e803259ffd05abe8786e14 (diff) | |
download | cpython-2bff9fcec23798dd192932842bae9855ed47a862.zip cpython-2bff9fcec23798dd192932842bae9855ed47a862.tar.gz cpython-2bff9fcec23798dd192932842bae9855ed47a862.tar.bz2 |
Branch merge.
-rw-r--r-- | Doc/c-api/veryhigh.rst | 11 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/signalmodule.c | 6 | ||||
-rw-r--r-- | Python/pythonrun.c | 2 |
4 files changed, 13 insertions, 9 deletions
diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst index 26e0716..8bece6d 100644 --- a/Doc/c-api/veryhigh.rst +++ b/Doc/c-api/veryhigh.rst @@ -34,11 +34,12 @@ the same library that the Python runtime is using. according to the user's locale). It is important to note that the argument list may be modified (but the contents of the strings pointed to by the argument list are not). The return value will be - the integer passed to the :func:`sys.exit` function, ``1`` if the - interpreter exits due to an exception, or ``2`` if the parameter - list does not represent a valid Python command line. + ```0``` if the interpreter exits normally (ie, without an + exception), ``1`` if the interpreter exits due to an exception, or + ``2`` if the parameter list does not represent a valid Python + command line. - Note that if an otherwise unhandled :exc:`SystemError` is raised, this + Note that if an otherwise unhandled :exc:`SystemExit` is raised, this function will not return ``1``, but exit the process, as long as ``Py_InspectFlag`` is not set. @@ -85,7 +86,7 @@ the same library that the Python runtime is using. there was an error, there is no way to get the exception information. For the meaning of *flags*, see below. - Note that if an otherwise unhandled :exc:`SystemError` is raised, this + Note that if an otherwise unhandled :exc:`SystemExit` is raised, this function will not return ``-1``, but exit the process, as long as ``Py_InspectFlag`` is not set. @@ -10,6 +10,9 @@ What's New in Python 3.2.1 release candidate 1? Core and Builtins ----------------- +- Issue #12060: Use sig_atomic_t type and volatile keyword in the signal + module. Patch written by Charles-François Natali. + - Issue #12044: Fixed subprocess.Popen when used as a context manager to wait for the process to end when exiting the context to avoid unintentionally leaving zombie processes around. diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 00a83b4..87c1c9a 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -80,12 +80,12 @@ static long main_thread; static pid_t main_pid; #endif -static struct { - int tripped; +static volatile struct { + sig_atomic_t tripped; PyObject *func; } Handlers[NSIG]; -static sig_atomic_t wakeup_fd = -1; +static volatile sig_atomic_t wakeup_fd = -1; /* Speed up sigcheck() when none tripped */ static volatile sig_atomic_t is_tripped = 0; diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 1e2dd58..084db12 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -80,7 +80,7 @@ int Py_DebugFlag; /* Needed by parser.c */ int Py_VerboseFlag; /* Needed by import.c */ int Py_QuietFlag; /* Needed by sysmodule.c */ int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */ -int Py_InspectFlag; /* Needed to determine whether to exit at SystemError */ +int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */ int Py_NoSiteFlag; /* Suppress 'import site' */ int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */ int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */ |