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);