Fix race condition in WriteResultPublisher

Closes gh-24989
This commit is contained in:
Rossen Stoyanchev 2020-05-01 17:05:02 +01:00
parent e17736dd0a
commit c35b3e5c82
1 changed files with 6 additions and 0 deletions

View File

@ -175,6 +175,9 @@ class WriteResultPublisher implements Publisher<Void> {
@Override
void publishComplete(WriteResultPublisher publisher) {
publisher.completedBeforeSubscribed = true;
if(State.SUBSCRIBED.equals(publisher.state.get())) {
publisher.state.get().publishComplete(publisher);
}
}
@Override
void publishError(WriteResultPublisher publisher, Throwable ex) {
@ -190,6 +193,9 @@ class WriteResultPublisher implements Publisher<Void> {
@Override
void publishComplete(WriteResultPublisher publisher) {
publisher.completedBeforeSubscribed = true;
if(State.SUBSCRIBED.equals(publisher.state.get())) {
publisher.state.get().publishComplete(publisher);
}
}
@Override
void publishError(WriteResultPublisher publisher, Throwable ex) {