Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/diffpy/srreal/_cleanup.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class prototypes is implemented in libdiffpy. Any Python-extended classes
"""


import atexit
import weakref


Expand Down Expand Up @@ -62,7 +63,7 @@ def add(self, obj):
return


def __del__(self):
def clean(self):
while self._references:
wr = self._references.pop()
obj = wr()
Expand All @@ -75,7 +76,8 @@ def __del__(self):

# create singleton instance of the cleanup handler
_cleanup_handler = _DerivedClassesCleanUpHandler()
del _DerivedClassesCleanUpHandler
atexit.register(_cleanup_handler.clean)

del _DerivedClassesCleanUpHandler

# End of file.
2 changes: 1 addition & 1 deletion src/diffpy/srreal/tests/testpairquantity.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def test_setPairMask_args(self):
spm = self.pq.setPairMask
gpm = self.pq.getPairMask
self.assertRaises(TypeError, spm, 0.0, 0, False)
self.assertRaises(TypeError, spm, numpy.complex(0.5), 0, False)
self.assertRaises(TypeError, spm, complex(0.5), 0, False)
self.assertTrue(gpm(0, 0))
spm(numpy.int32(1), 0, True, others=False)
self.assertTrue(gpm(0, 1))
Expand Down