diff --git a/src/objective-c/RxLibrary/GRXBufferedPipe.m b/src/objective-c/RxLibrary/GRXBufferedPipe.m index 9dfe332eef3..bffabc53f22 100644 --- a/src/objective-c/RxLibrary/GRXBufferedPipe.m +++ b/src/objective-c/RxLibrary/GRXBufferedPipe.m @@ -82,11 +82,6 @@ if (errorOrNil) { // No need to write pending values. [self finishWithError:_errorOrNil]; - } else { - // Wait until all the pending writes to be finished. - dispatch_sync(_writeQueue, ^{ - return; - }); } } diff --git a/src/objective-c/tests/RxLibraryUnitTests.m b/src/objective-c/tests/RxLibraryUnitTests.m index feade14eea2..e2ff6e45984 100644 --- a/src/objective-c/tests/RxLibraryUnitTests.m +++ b/src/objective-c/tests/RxLibraryUnitTests.m @@ -166,6 +166,9 @@ [pipe writeValue:anyValue]; [pipe writesFinishedWithError:nil]; + // Wait buffered pipe to be flushed. + sleep(1); + // Then: XCTAssertEqual(handler.timesCalled, 1); XCTAssertEqualObjects(handler.value, anyValue); @@ -202,6 +205,7 @@ [pipe writesFinishedWithError:nil]; // then start the writeable [pipe startWithWriteable:writeable]; + sleep(1); // Then: XCTAssertEqual(handler.timesCalled, 1);