(re-using an existing test object class) no longer triggered the
original segfault when the fix was backed out; restoring the local
test object class to make the test effective
the assignment of the ref created at the end does not affect the test,
since the segfault happended before weakref.ref() returned; removing
the assignment
thresholds = gc.get_threshold()
gc.set_threshold(1, 1, 1)
gc.collect()
+ class A:
+ pass
def callback(*args):
pass
- referenced = C()
+ referenced = A()
- a = C()
+ a = A()
a.a = a
a.wr = makeref(referenced)
try:
# now make sure the object and the ref get labeled as
# cyclic trash:
- a = C()
- a.wrc = weakref.ref(referenced, callback)
+ a = A()
+ weakref.ref(referenced, callback)
finally:
gc.set_threshold(*thresholds)