-
Notifications
You must be signed in to change notification settings - Fork 612
Ensure broker-originated channel closure completes #1752
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
Conversation
26bc93c to
30a244d
Compare
b805677 to
fd2377b
Compare
fd2377b to
c4200ab
Compare
DisposeAsync and Dispose are idempotent|
Here are my thoughts #1761. I try to make individual commits so that you can drop them as needed / desired |
Fixes #1749 * Ensure `Dispose` and `DisposeAsync` are idempotent and thread-safe. * Use TaskCompletionSource when `HandleChannelCloseAsync` runs to allow dispose methods to wait. * Use `Interlocked` for thread safety. * I like `_isDisposing` better. So sue me! * Move the `Interlocked.Exchange` code to a getter, for readability. * Minor nullable change.
27eb038 to
9bbcb5e
Compare
|
Do you always remove the co-authors when force pushing? That seems unnecessary to me |
|
No I don't do anything special when force-pushing. I thought that co-authors were preserved! 😬 |
|
Well crap, I now see that your contribution is lost on that one commit. I'll try to figure out what I may have done differently. |
|
It's not the end of the world. In my heart I know I was there 😆 |
|
Do you have any idea what I may be doing when I rebase and force-push? This last time, I did the following: I squashed all of the commits during the interactive rebase, and I re-worded some of the commit messages. I wonder if it is the re-wording that changes things, or if its the squash? I swear this didn't used to happen 🤔 |
|
Did you preserve the |
|
I just read about that. I didn't intentionally remove |
|
@danielmarbach - fixed in #1764. I'll hopefully not do that again! |
Fixes #1749
DisposeandDisposeAsyncare idempotent and thread-safe.HandleChannelCloseAsyncruns to allow dispose methods to wait.