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
DisposeandDisposeAsyncare idempotent and thread-safe.HandleChannelCloseAsyncruns to allow dispose methods to wait.