changeset: 83615:0dfd5c7d953d branch: 3.3 parent: 83612:8c1385205a35 user: Antoine Pitrou date: Sat May 04 23:16:59 2013 +0200 files: Misc/NEWS Modules/signalmodule.c description: Issue #14173: Avoid crashing when reading a signal handler during interpreter shutdown. diff -r 8c1385205a35 -r 0dfd5c7d953d Misc/NEWS --- a/Misc/NEWS Sat May 04 20:45:02 2013 +0200 +++ b/Misc/NEWS Sat May 04 23:16:59 2013 +0200 @@ -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 -r 8c1385205a35 -r 0dfd5c7d953d Modules/signalmodule.c --- a/Modules/signalmodule.c Sat May 04 20:45:02 2013 +0200 +++ b/Modules/signalmodule.c Sat May 04 23:16:59 2013 +0200 @@ -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,

AltStyle によって変換されたページ (->オリジナル) /