Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:
You could save/restore this data only when corresponded modules was imported, like it was done in clear_caches() in refleak.py. For example: # Same for Process objects def get_multiprocessing_process__dangling(self): multiprocessing_process = sys.modules.get('multiprocessing.process') if not multiprocessing_process: return set() # Unjoined process objects can survive after process exits multiprocessing_process._cleanup() # This copies the weakrefs without making any strong reference return multiprocessing_process._dangling.copy() def restore_multiprocessing_process__dangling(self, saved): multiprocessing_process = sys.modules.get('multiprocessing.process') if not multiprocessing_process: return multiprocessing_process._dangling.clear() multiprocessing_process._dangling.update(saved) ---------- nosy: +serhiy.storchaka _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41718> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com