servicetalk-concurrent-api/src/testFixtures/java/io/servicetalk/concurrent/api/TestPublisher.java [92:110]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected void handleSubscribe(final Subscriber<? super T> subscriber) {
        try {
            Subscriber<? super T> newSubscriber = requireNonNull(subscriberFunction.apply(subscriber));
            for (;;) {
                Subscriber<? super T> currSubscriber = this.subscriber;
                if (subscriberUpdater.compareAndSet(this, currSubscriber, newSubscriber)) {
                    if (currSubscriber instanceof WaitingSubscriber) {
                        @SuppressWarnings("unchecked")
                        final WaitingSubscriber<T> waiter = (WaitingSubscriber<T>) currSubscriber;
                        waiter.realSubscriber(newSubscriber);
                    }
                    subscriberLatch.countDown();
                    break;
                }
            }
        } catch (final Throwable t) {
            record(t);
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



servicetalk-concurrent-api/src/testFixtures/java/io/servicetalk/concurrent/api/TestSingle.java [91:109]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected void handleSubscribe(final Subscriber<? super T> subscriber) {
        try {
            Subscriber<? super T> newSubscriber = requireNonNull(subscriberFunction.apply(subscriber));
            for (;;) {
                Subscriber<? super T> currSubscriber = this.subscriber;
                if (subscriberUpdater.compareAndSet(this, currSubscriber, newSubscriber)) {
                    if (currSubscriber instanceof WaitingSubscriber) {
                        @SuppressWarnings("unchecked")
                        final WaitingSubscriber<T> waiter = (WaitingSubscriber<T>) currSubscriber;
                        waiter.realSubscriber(newSubscriber);
                    }
                    subscriberLatch.countDown();
                    break;
                }
            }
        } catch (final Throwable t) {
            record(t);
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



