Remove synchronization in GRXBufferedPipe:writesFinishedWithError and change tests correspondingly
diff --git a/src/objective-c/RxLibrary/GRXBufferedPipe.m b/src/objective-c/RxLibrary/GRXBufferedPipe.m
index 9dfe332..bffabc5 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 feade14..e2ff6e4 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);