in autodispose/src/main/java/autodispose2/HalfSerializer.java [51:68]
public static <@NonNull T> boolean onNext(Subscriber<? super T> subscriber,
T value,
AtomicInteger wip,
AtomicThrowable error) {
if (wip.get() == 0 && wip.compareAndSet(0, 1)) {
subscriber.onNext(value);
if (wip.decrementAndGet() != 0) {
Throwable ex = error.terminate();
if (ex != null) {
subscriber.onError(ex);
} else {
subscriber.onComplete();
}
return true;
}
}
return false;
}