diff options
Diffstat (limited to 'tools/buildbot/pylibs/twisted/python/finalize.py')
-rw-r--r-- | tools/buildbot/pylibs/twisted/python/finalize.py | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/tools/buildbot/pylibs/twisted/python/finalize.py b/tools/buildbot/pylibs/twisted/python/finalize.py deleted file mode 100644 index 8b99bf6..0000000 --- a/tools/buildbot/pylibs/twisted/python/finalize.py +++ /dev/null @@ -1,46 +0,0 @@ - -""" -A module for externalized finalizers. -""" - -import weakref - -garbageKey = 0 - -def callbackFactory(num, fins): - def _cb(w): - del refs[num] - for fx in fins: - fx() - return _cb - -refs = {} - -def register(inst): - global garbageKey - garbageKey += 1 - r = weakref.ref(inst, callbackFactory(garbageKey, inst.__finalizers__())) - refs[garbageKey] = r - -if __name__ == '__main__': - def fin(): - print 'I am _so_ dead.' - - class Finalizeable: - """ - An un-sucky __del__ - """ - - def __finalizers__(self): - """ - I'm going away. - """ - return [fin] - - f = Finalizeable() - f.f2 = f - register(f) - del f - import gc - gc.collect() - print 'deled' |