[issue6990] threading.local subclasses don't cleanup their state and it gets recycled
Amaury Forgeot d'Arc
report at bugs.python.org
Fri Sep 25 09:32:18 CEST 2009
Amaury Forgeot d'Arc <amauryfa at gmail.com> added the comment:
Thanks for the excellent test case!
Is seems enough to remove the statement "Py_CLEAR(self->key);" from
local_clear(). self->key is a string which cannot cause cycles (and is
not visited in local_traverse()); now local_dealloc() does its job.
Index: threadmodule.c
===================================================================
--- threadmodule.c (revision 74229)
+++ threadmodule.c (working copy)
@@ -239,7 +239,6 @@
static int
local_clear(localobject *self)
{
- Py_CLEAR(self->key);
Py_CLEAR(self->args);
Py_CLEAR(self->kw);
Py_CLEAR(self->dict);
----------
keywords: +needs review
stage: -> patch review
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6990>
_______________________________________
More information about the Python-bugs-list
mailing list