diff --git a/reactor-core/src/main/java/reactor/core/publisher/FluxPublish.java b/reactor-core/src/main/java/reactor/core/publisher/FluxPublish.java index ef0d7587bf..b3211b1200 100644 --- a/reactor-core/src/main/java/reactor/core/publisher/FluxPublish.java +++ b/reactor-core/src/main/java/reactor/core/publisher/FluxPublish.java @@ -316,11 +316,13 @@ public void onError(Throwable t) { return; } - done = true; if (!Exceptions.addThrowable(ERROR, this, t)) { Operators.onErrorDroppedMulticast(t, subscribers); + return; } + done = true; + long previousState = markTerminated(this); if (isTerminated(previousState) || isCancelled(previousState)) { return;