pytorch
4de5ee43 - [torch.library] Change Library.__del__ into weakref.finalize (#101829)

Commit
1 year ago
[torch.library] Change Library.__del__ into weakref.finalize (#101829) `__del__` is a bit difficult to use, because when it is called, it is not guaranteed that anything it uses has not been cleaned up. Ed tells me he got the following exception one day, which is what prompted this PR. ``` Exception ignored in: <function Library.__del__ at 0x7fa36d211e50> Traceback (most recent call last): File "/data/users/ezyang/a/pytorch/torch/library.py", line 139, in __del__ AttributeError: 'NoneType' object has no attribute 'remove' ``` One solution is to use weakref.finalize, which lets one define a function to be run when the object is deleted that can hold references to specific things it needs. Another solution is to just check if the object is None, but I like the weakref solution better. Test Plan: - new test Pull Request resolved: https://github.com/pytorch/pytorch/pull/101829 Approved by: https://github.com/ezyang
Author
Committer
Parents
Loading