diff options
author | Guido van Rossum <guido@python.org> | 1998-07-14 18:02:13 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-07-14 18:02:13 +0000 |
commit | 43ff8683fe68424b9c179ee4970bb865e11036d6 (patch) | |
tree | 59592acc31ae261b6953ed08a063e25eee7fc117 /Modules/_tkinter.c | |
parent | 69a79bca6860ae84f502f163176bf49b633d6add (diff) | |
download | cpython-git-43ff8683fe68424b9c179ee4970bb865e11036d6.tar.gz |
Temporarily get rid of the registration of Tcl_Finalize() as a
low-level Python exit handler. This can attempt to call Python code
at a point that the interpreter and thread state have already been
destroyed, causing a Bus Error. Given the intended use of
Py_AtExit(), I'm not convinced that it's a good idea to call it
earlier during Python's finalization sequence... (Although this is
the only use for it in the entire distribution.)
Diffstat (limited to 'Modules/_tkinter.c')
-rw-r--r-- | Modules/_tkinter.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index fc526577c0..e1b2b18896 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -2030,9 +2030,14 @@ init_tkinter() if (PyErr_Occurred()) return; +#if 0 + /* This was not a good idea; through <Destroy> bindings, + Tcl_Finalize() may invoke Python code but at that point the + interpreter and thread state have already been destroyed! */ #if TKMAJORMINOR >= 8000 Py_AtExit(Tcl_Finalize); #endif +#endif #ifdef macintosh /* |