Lines Matching +full:no +full:- +full:ct
7 Once gc has computed the set of unreachable objects, no Python-level
21 OTOH, it's OK to run Python-level code that can't access unreachable
28 still exist, and be accessible to the callback -- there are lots of painful
35 I'm leaving it as-is because it's more right than wrong, and serves as a
41 trash (CT) exists, then any call to any Python code whatsoever can end up
42 materializing a strong reference to that weakref's CT referent, and so
43 possibly resurrect an insane object (one for which cyclic gc has called-- or
44 will call before it's done --tp_clear()). It's not even necessarily that a
48 CT while gc is running.
68 below. We do clear all weakrefs to CT now before breaking cycles, but not
92 that have already suffered a tp_clear() call. There's no guarantee that an
98 [That missed that, in addition, a weakref to CT can exist outside CT, and
99 any callback into Python can use such a non-CT weakref to resurrect its CT
108 [Except that a non-CT callback can also use a non-CT weakref to get at
109 CT objects.]
127 callbacks in cyclic trash. Since the weakrefs *are* trash, and there's no
128 defined-- or even predictable --order in which tp_clear() gets called on
133 [In 2.4/2.3.5, we first clear all weakrefs to CT objects, whether or not
134 those weakrefs are themselves CT, and whether or not they have callbacks.
135 The callbacks (if any) on non-CT weakrefs (if any) are invoked later,
136 after all weakrefs-to-CT have been cleared. The callbacks (if any) on CT
153 a cycle, but is reachable only from CT, then breaking cycles will, as a
156 code that could access CT.]
160 tp_clear(): it removes the weakref from the weakly-referenced object's list
171 [As above, not so: it means never trigger Python code that can access CT.]
182 non-CT weakrefs to CT objects, during the same pass that decrefs the
188 argument against that (on Python-Dev):
195 Now, suppose you have a design that makes has no __del__ methods but
203 IOW, a class designer can out-think __del__ problems, but has no control
215 [The callbacks (if any) on non-CT weakrefs to CT objects are also executed