Closed jsturtevant closed 1 year ago
Patch and project coverage have no change.
Comparison is base (
4661bd1
) 24.39% compared to head (c9f67f5
) 24.39%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
The current closing logic was causing a deadlock becuase an unused pipe was being returned when the close was called on the listenering. This sets a flag so we can detect that we should not use that pipe connection which wasn't actually connected to a client but returned from the async call becuase we told it too.
more info
I was using the skeleton example to test rust-extensions and found that there was a race condition when shutting the shim down.
Logs (with added logging) show that there are two (?!) clients but the code only connects once.
you can see there are two (!?) connections being handled, this is because the accept was returning an invalid handle when closing up causing the race condition on shutdown.
With this new logic we can see there is only ever one client (268):