Message376426
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) |
|
Date |
User |
Action |
Args |
2020-09-05 07:38:26 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, terry.reedy, vstinner, zach.ware, pablogsal, shihai1991 |
2020-09-05 07:38:26 | serhiy.storchaka | set | messageid: <1599291506.36.0.960979569162.issue41718@roundup.psfhosted.org> |
2020-09-05 07:38:26 | serhiy.storchaka | link | issue41718 messages |
2020-09-05 07:38:25 | serhiy.storchaka | create | |
|