diff --git a/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift b/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift index 095d03e6..6be343f5 100644 --- a/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift +++ b/RxSwift/RxSwift/Observables/Implementations/TakeUntil.swift @@ -33,19 +33,15 @@ class TakeUntilSinkOther) { - switch event { - case .Next: - parent.lock.performLocked { - trySendCompleted(parent.observer) + parent.lock.performLocked { + switch event { + case .Next: + parent.observer?.on(.Completed) parent.dispose() - } - case .Error(let e): - parent.lock.performLocked { - trySendError(parent.observer, e) + case .Error(let e): + parent.observer?.on(.Error(e)) parent.dispose() - } - case .Completed: - parent.lock.performLocked { () -> Void in + case .Completed: parent.open = true singleAssignmentDisposable.dispose() } @@ -66,7 +62,7 @@ class TakeUntilSink