diff --git a/mutiny-zero/src/main/java/mutiny/zero/internal/CompletionStagePublisher.java b/mutiny-zero/src/main/java/mutiny/zero/internal/CompletionStagePublisher.java index ede1a3d..f5f71ea 100644 --- a/mutiny-zero/src/main/java/mutiny/zero/internal/CompletionStagePublisher.java +++ b/mutiny-zero/src/main/java/mutiny/zero/internal/CompletionStagePublisher.java @@ -86,8 +86,9 @@ public void request(long n) { @Override public void cancel() { - cancelled.set(true); - completableFuture.toCompletableFuture().cancel(false); + if (cancelled.compareAndSet(false, true)) { + completableFuture.toCompletableFuture().cancel(false); + } } } }