[Python-checkins] cpython (3.3): Issue #14173: Avoid crashing when reading a signal handler during interpreter
antoine.pitrou
python-checkins at python.org
Sat May 4 23:21:23 CEST 2013
http://hg.python.org/cpython/rev/0dfd5c7d953d
changeset: 83615:0dfd5c7d953d
branch: 3.3
parent: 83612:8c1385205a35
user: Antoine Pitrou <solipsis at pitrou.net>
date: Sat May 04 23:16:59 2013 +0200
summary:
Issue #14173: Avoid crashing when reading a signal handler during interpreter shutdown.
files:
Misc/NEWS | 3 +++
Modules/signalmodule.c | 14 +++++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -47,6 +47,9 @@
Library
-------
+- Issue #14173: Avoid crashing when reading a signal handler during
+ interpreter shutdown.
+
- Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
- Issue #15902: Fix imp.load_module() accepting None as a file when loading an
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -344,7 +344,10 @@
Handlers[sig_num].tripped = 0;
Py_INCREF(obj);
Handlers[sig_num].func = obj;
- return old_handler;
+ if (old_handler != NULL)
+ return old_handler;
+ else
+ Py_RETURN_NONE;
}
PyDoc_STRVAR(signal_doc,
@@ -372,8 +375,13 @@
return NULL;
}
old_handler = Handlers[sig_num].func;
- Py_INCREF(old_handler);
- return old_handler;
+ if (old_handler != NULL) {
+ Py_INCREF(old_handler);
+ return old_handler;
+ }
+ else {
+ Py_RETURN_NONE;
+ }
}
PyDoc_STRVAR(getsignal_doc,
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list