From b8fa135908d294b350cdad04e2f512327a538dee Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 15 Dec 2020 14:34:19 +0100 Subject: bpo-42639: Move atexit state to PyInterpreterState (GH-23763) * Add _PyAtExit_Call() function and remove pyexitfunc and pyexitmodule members of PyInterpreterState. The function logs atexit callback errors using _PyErr_WriteUnraisableMsg(). * Add _PyAtExit_Init() and _PyAtExit_Fini() functions. * Remove traverse, clear and free functions of the atexit module. Co-authored-by: Dong-hee Na --- Python/pystate.c | 1 + 1 file changed, 1 insertion(+) (limited to 'Python/pystate.c') diff --git a/Python/pystate.c b/Python/pystate.c index 8da583f8e0..ead25b08d7 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -303,6 +303,7 @@ interpreter_clear(PyInterpreterState *interp, PyThreadState *tstate) _PyAST_Fini(interp); _PyWarnings_Fini(interp); + _PyAtExit_Fini(interp); // All Python types must be destroyed before the last GC collection. Python // types create a reference cycle to themselves in their in their -- cgit v1.2.3