summaryrefslogtreecommitdiff
path: root/Python/pystate.c
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2006-02-27 17:47:02 +0000
committerTim Peters <tim.peters@gmail.com>2006-02-27 17:47:02 +0000
commit91e742fb6bb59c5a787f4b8a2584fdab4d82dd73 (patch)
tree310d622d09fd0cb9baa2646fe5ec43c8a4ac028b /Python/pystate.c
parent05b92543cdec96583d8bd7b1ff867fcdee3ecebf (diff)
downloadcpython-git-91e742fb6bb59c5a787f4b8a2584fdab4d82dd73.tar.gz
Merge rev 42607 from the trunk.
Patch 1413181, by Gabriel Becedillas. PyThreadState_Delete(): if the auto-GIL-state machinery knows about the thread state, forget it (since the thread state is being deleted, continuing to remember it can't help, but can hurt if another thread happens to get created with the same thread id).
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 52ff1511a0..cdb7176696 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -262,6 +262,10 @@ PyThreadState_Delete(PyThreadState *tstate)
if (tstate == _PyThreadState_Current)
Py_FatalError("PyThreadState_Delete: tstate is still current");
tstate_delete_common(tstate);
+#ifdef WITH_THREAD
+ if (autoTLSkey && PyThread_get_key_value(autoTLSkey) == tstate)
+ PyThread_delete_key_value(autoTLSkey);
+#endif /* WITH_THREAD */
}