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
fix(iroh-relay): fix client actors not closing (#3134)
## Description
When a client actor closes, it awaits `Clients::unregister`, which then
awaits for the actor task to close, so almost every actor task was being
leaked. Since the only place `Clients::unregister` is called is from
when the actor is already closing, I chose to break the cycle by not
have it call `Client::shutdown`.
I also added a timeout to the tls handshake because that also gets stuck
forever if the client goes away. I didn't add it to the `LetsEncrypt`
acceptor because I wasn't sure where exactly it belonged, but that
should probably have one too. I can move this to a separate PR if
preferred. Maybe the timeout should be configurable as well?
## Notes & open questions
<!-- Any notes, remarks or open questions you have to make about the PR.
-->
## Change checklist
- [ ] Self-review.
- [ ] Documentation updates following the [style
guide](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text),
if relevant.
- [ ] Tests if relevant.
- [ ] All breaking changes documented.
---------
Co-authored-by: Floris Bruynooghe <[email protected]>
0 commit comments