bpo-38920: Add audit hooks for when sys.excepthook and sys.unraisable hooks are invoked (GH-17392)
Also fixes some potential segfaults in unraisable hook handling.
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 30c7e98..78b9d22 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -323,8 +323,8 @@
/* Cannot invoke hooks until we are initialized */
if (runtime->initialized) {
if (PySys_Audit("sys.addaudithook", NULL) < 0) {
- if (_PyErr_ExceptionMatches(tstate, PyExc_Exception)) {
- /* We do not report errors derived from Exception */
+ if (_PyErr_ExceptionMatches(tstate, PyExc_RuntimeError)) {
+ /* We do not report errors derived from RuntimeError */
_PyErr_Clear(tstate);
return 0;
}