You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 8, 2024. It is now read-only.
This probably shouldn't be an issue but I'm just creating this for means of documentation.
The way IO Events are handled (more specifically the Mouse Prioritization System) uses a wacky EventFrame system that requires you to call free() when you don't need the object anymore.
Of course, this is very error-prone as memory leaks can easily be created by simply forgetting to call free() which should be the garbage collector's job anyway!
So, the idea is to create an alternative to EventTargets / node:events that uses WeakMaps (or WeakRefMaps for iteratability) that wouldn't keep strong references that would make it automatically garbage-collectable.
(this might be best made into its own standalone package, weak-events anyon- oh wait that's already taken)
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
This probably shouldn't be an issue but I'm just creating this for means of documentation.
The way IO Events are handled (more specifically the Mouse Prioritization System) uses a wacky EventFrame system that requires you to call
free()
when you don't need the object anymore.Of course, this is very error-prone as memory leaks can easily be created by simply forgetting to call
free()
which should be the garbage collector's job anyway!So, the idea is to create an alternative to
EventTarget
s /node:event
s that usesWeakMap
s (orWeakRef
Map
s for iteratability) that wouldn't keep strong references that would make it automatically garbage-collectable.(this might be best made into its own standalone package,
weak-events
anyon- oh wait that's already taken)The text was updated successfully, but these errors were encountered: