package rx.subscriptions; import j0.l.d.a; import j0.l.d.b; import rx.Subscription; public final class SerialSubscription implements Subscription { public final a i = new a(); public void a(Subscription subscription) { Subscription subscription2; if (subscription != null) { a aVar = this.i; do { subscription2 = aVar.get(); if (subscription2 == b.INSTANCE) { subscription.unsubscribe(); return; } } while (!aVar.compareAndSet(subscription2, subscription)); if (subscription2 != null) { subscription2.unsubscribe(); return; } return; } throw new IllegalArgumentException("Subscription can not be null"); } @Override // rx.Subscription public boolean isUnsubscribed() { return this.i.isUnsubscribed(); } @Override // rx.Subscription public void unsubscribe() { this.i.unsubscribe(); } }