-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
fix #1486 Prevent usingWhen terminal & cancel callbacks to both apply #1487
Conversation
This commit prevents asyncComplete/asyncError terminal callbacks to apply in addition to asyncCancel, in case one signal is still received after the other (eg. a cancellation is performed asynchronously, resulting in the signal arriving AFTER the onError/onComplete signals).
cc @mp911de can you look at the added tests see if they correctly cover your case? |
reactor-core/src/test/java/reactor/core/publisher/FluxUsingWhenTest.java
Show resolved
Hide resolved
reactor-core/src/test/java/reactor/core/publisher/FluxUsingWhenTest.java
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## master #1487 +/- ##
============================================
+ Coverage 84.14% 84.17% +0.03%
Complexity 3898 3898
============================================
Files 359 359
Lines 29831 29835 +4
Branches 5531 5534 +3
============================================
+ Hits 25102 25115 +13
+ Misses 3094 3091 -3
+ Partials 1635 1629 -6
Continue to review full report at Codecov.
|
@simonbasle don't we need to do the same in |
reactor-core/src/test/java/reactor/core/publisher/FluxUsingWhenTest.java
Outdated
Show resolved
Hide resolved
Co-Authored-By: simonbasle <sbasle@pivotal.io>
nope, the |
…#1487) This commit prevents asyncComplete/asyncError terminal callbacks to apply in addition to asyncCancel, in case one signal is still received after the other (eg. a cancellation is performed asynchronously, resulting in the signal arriving AFTER the onError/onComplete signals).
This commit prevents asyncComplete/asyncError terminal callbacks to
apply in addition to asyncCancel, in case one signal is still received
after the other (eg. a cancellation is performed asynchronously,
resulting in the signal arriving AFTER the onError/onComplete signals).