Revert the 1.8 patch, since it's implicated in nasty blowups (see Pyhon-Dev).
diff --git a/Modules/_weakref.c b/Modules/_weakref.c
index 5bdab4d..399b4fe 100644
--- a/Modules/_weakref.c
+++ b/Modules/_weakref.c
@@ -59,7 +59,6 @@
if (self->wr_object != Py_None) {
PyWeakReference **list = GET_WEAKREFS_LISTPTR(self->wr_object);
- PyObject_GC_Fini((PyObject *)self);
if (*list == self)
*list = self->wr_next;
self->wr_object = Py_None;
@@ -79,6 +78,7 @@
weakref_dealloc(PyWeakReference *self)
{
clear_weakref(self);
+ PyObject_GC_Fini((PyObject *)self);
self->wr_next = free_list;
free_list = self;
}