diff --git a/src/main/java/io/reactivex/internal/observers/CallbackCompletableObserver.java b/src/main/java/io/reactivex/internal/observers/CallbackCompletableObserver.java index d64e705e0e..cfb758552a 100644 --- a/src/main/java/io/reactivex/internal/observers/CallbackCompletableObserver.java +++ b/src/main/java/io/reactivex/internal/observers/CallbackCompletableObserver.java @@ -52,8 +52,7 @@ public void onComplete() { onComplete.run(); } catch (Throwable ex) { Exceptions.throwIfFatal(ex); - onError(ex); - return; + RxJavaPlugins.onError(ex); } lazySet(DisposableHelper.DISPOSED); } diff --git a/src/main/java/io/reactivex/observers/DisposableObserver.java b/src/main/java/io/reactivex/observers/DisposableObserver.java index 40a18fee73..15b90ccb0f 100644 --- a/src/main/java/io/reactivex/observers/DisposableObserver.java +++ b/src/main/java/io/reactivex/observers/DisposableObserver.java @@ -24,7 +24,7 @@ * *
All pre-implemented final methods are thread-safe. * - *
Use the protected {@link #dispose()} to dispose the sequence from within an + *
Use the public {@link #dispose()} method to dispose the sequence from within an * {@code onNext} implementation. * *
Like all other consumers, {@code DefaultObserver} can be subscribed only once. diff --git a/src/main/java/io/reactivex/observers/ResourceCompletableObserver.java b/src/main/java/io/reactivex/observers/ResourceCompletableObserver.java index 26740c70b0..b892abbf62 100644 --- a/src/main/java/io/reactivex/observers/ResourceCompletableObserver.java +++ b/src/main/java/io/reactivex/observers/ResourceCompletableObserver.java @@ -29,7 +29,7 @@ *
Override the protected {@link #onStart()} to perform initialization when this * {@code ResourceCompletableObserver} is subscribed to a source. * - *
Use the protected {@link #dispose()} to dispose the sequence externally and release + *
Use the public {@link #dispose()} method to dispose the sequence externally and release * all resources. * *
To release the associated resources, one has to call {@link #dispose()} diff --git a/src/main/java/io/reactivex/observers/ResourceMaybeObserver.java b/src/main/java/io/reactivex/observers/ResourceMaybeObserver.java index 9cb97a689a..c12e9e2417 100644 --- a/src/main/java/io/reactivex/observers/ResourceMaybeObserver.java +++ b/src/main/java/io/reactivex/observers/ResourceMaybeObserver.java @@ -33,7 +33,7 @@ *
Override the protected {@link #onStart()} to perform initialization when this * {@code ResourceMaybeObserver} is subscribed to a source. * - *
Use the protected {@link #dispose()} to dispose the sequence externally and release + *
Use the public {@link #dispose()} method to dispose the sequence externally and release * all resources. * *
To release the associated resources, one has to call {@link #dispose()} diff --git a/src/main/java/io/reactivex/observers/ResourceSingleObserver.java b/src/main/java/io/reactivex/observers/ResourceSingleObserver.java index a0182adba9..88efae5c74 100644 --- a/src/main/java/io/reactivex/observers/ResourceSingleObserver.java +++ b/src/main/java/io/reactivex/observers/ResourceSingleObserver.java @@ -30,7 +30,7 @@ *
Override the protected {@link #onStart()} to perform initialization when this * {@code ResourceSingleObserver} is subscribed to a source. * - *
Use the protected {@link #dispose()} to dispose the sequence externally and release + *
Use the public {@link #dispose()} method to dispose the sequence externally and release * all resources. * *
To release the associated resources, one has to call {@link #dispose()}
diff --git a/src/test/java/io/reactivex/completable/CompletableTest.java b/src/test/java/io/reactivex/completable/CompletableTest.java
index 12f77135fb..a764d682f1 100644
--- a/src/test/java/io/reactivex/completable/CompletableTest.java
+++ b/src/test/java/io/reactivex/completable/CompletableTest.java
@@ -2566,18 +2566,24 @@ public void run() { }
@Test(timeout = 5000)
public void subscribeTwoCallbacksCompleteThrows() {
- final AtomicReference