Amaury Forgeot d'Arc <amaur...@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 <rep...@bugs.python.org>
<http://bugs.python.org/issue6990>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to