-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Synchronicity currently creates circular references:
async_method [-> Interfaces attribute] -> wrapper_method -> synchronizer instance -> thread + event loop -> [possibly references to the original async_method]
^ v
---------------------<---------------
This leads to unpredictable gc behavior of the synchronizer instance (normally at interpreter shutdown) since the gc normally wants to collect any parent before it collects its attributes/references.
This is what causes the Synchronizer.__del__ to never run at the moment.
Metadata
Metadata
Assignees
Labels
No labels