public static boolean setOnce()

in autodispose/src/main/java/autodispose2/AutoDisposeEndConsumerHelper.java [73:83]


  public static boolean setOnce(AtomicReference<Subscription> upstream, Subscription next, Class<?> subscriber) {
    AutoDisposeUtil.checkNotNull(next, "next is null");
    if (!upstream.compareAndSet(null, next)) {
      next.cancel();
      if (upstream.get() != AutoSubscriptionHelper.CANCELLED) {
        reportDoubleSubscription(subscriber);
      }
      return false;
    }
    return true;
  }