-
Notifications
You must be signed in to change notification settings - Fork 593
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
Ensure broker-originated channel closure completes #1752
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
Dispose
andDisposeAsync
are idempotent and thread-safe.HandleChannelCloseAsync
runs to allow dispose methods to wait.