summaryrefslogtreecommitdiffstats
path: root/Modules/_threadmodule.c
diff options
context:
space:
mode:
authorPhilip Jenvey <pjenvey@underboss.org>2009-09-29 05:03:48 (GMT)
committerPhilip Jenvey <pjenvey@underboss.org>2009-09-29 05:03:48 (GMT)
commit962b05c3a972fdc29155043acfa238d49a573218 (patch)
treed9ec04e547b9f1bc526e06f2f7978e3895500dbb /Modules/_threadmodule.c
parent576fbbde5609667a15749239117b7da7b95e70e7 (diff)
downloadcpython-962b05c3a972fdc29155043acfa238d49a573218.zip
cpython-962b05c3a972fdc29155043acfa238d49a573218.tar.gz
cpython-962b05c3a972fdc29155043acfa238d49a573218.tar.bz2
Merged revisions 75125 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r75125 | philip.jenvey | 2009-09-28 21:57:18 -0700 (Mon, 28 Sep 2009) | 11 lines Recorded merge of revisions 75123 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r75123 | philip.jenvey | 2009-09-28 21:32:44 -0700 (Mon, 28 Sep 2009) | 4 lines #6990: clear threading.local's key only after its thread state is removed: fixes local subclasses leaving old state around after a ref cycle GC which could be recycled by new locals ........ ................
Diffstat (limited to 'Modules/_threadmodule.c')
-rw-r--r--Modules/_threadmodule.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index a031998..744e94d 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -239,7 +239,6 @@ local_traverse(localobject *self, visitproc visit, void *arg)
static int
local_clear(localobject *self)
{
- Py_CLEAR(self->key);
Py_CLEAR(self->args);
Py_CLEAR(self->kw);
Py_CLEAR(self->dict);
@@ -261,6 +260,7 @@ local_dealloc(localobject *self)
PyDict_DelItem(tstate->dict, self->key);
}
+ Py_XDECREF(self->key);
local_clear(self);
Py_TYPE(self)->tp_free((PyObject*)self);
}