Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix fromCompletableFuture cancelation leak #3425

Conversation

armanbilge
Copy link
Member

I inadvertently took over @TimWSpence's PR #3417 😅

@armanbilge
Copy link
Member Author

Damn it. You broke it, you bought it 😩

@armanbilge
Copy link
Member Author

armanbilge commented Feb 17, 2023

Welp. We must have some global fiber monitor state somewhere, that persists across isolated runtimes ...

Edit oh lol

private[FiberMonitor] final val BagReferences
: ConcurrentLinkedQueue[WeakReference[WeakBag[Runnable]]] =
new ConcurrentLinkedQueue()
private[FiberMonitor] final val Bags: ThreadLocal[WeakBag[Runnable]] =
ThreadLocal.withInitial { () =>
val bag = new WeakBag[Runnable]()
BagReferences.offer(new WeakReference(bag))
bag
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants