From 00ca6f5e0d7e06bc56b3ddcc883fdc11f7923aef Mon Sep 17 00:00:00 2001 From: Peter Date: Sat, 21 Feb 2015 22:41:56 +0300 Subject: [PATCH] no message --- SSignalKit/SQueue.h | 2 ++ SSignalKit/SQueue.m | 5 +++++ SSignalKit/SSignal+Catch.m | 6 +++--- SSignalKit/SSignal+Single.m | 1 + 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/SSignalKit/SQueue.h b/SSignalKit/SQueue.h index 85ac709ba6..011aa333a1 100644 --- a/SSignalKit/SQueue.h +++ b/SSignalKit/SQueue.h @@ -6,6 +6,8 @@ + (SQueue *)concurrentDefaultQueue; + (SQueue *)concurrentBackgroundQueue; ++ (SQueue *)wrapConcurrentNativeQueue:(dispatch_queue_t)nativeQueue; + - (void)dispatch:(dispatch_block_t)block; - (dispatch_queue_t)_dispatch_queue; diff --git a/SSignalKit/SQueue.m b/SSignalKit/SQueue.m index 80e24dd5b5..91a7336c89 100644 --- a/SSignalKit/SQueue.m +++ b/SSignalKit/SQueue.m @@ -50,6 +50,11 @@ static const void *SQueueSpecificKey = &SQueueSpecificKey; return queue; } ++ (SQueue *)wrapConcurrentNativeQueue:(dispatch_queue_t)nativeQueue +{ + return [[SQueue alloc] initWithNativeQueue:nativeQueue queueSpecific:NULL]; +} + - (instancetype)init { dispatch_queue_t queue = dispatch_queue_create(NULL, NULL); diff --git a/SSignalKit/SSignal+Catch.m b/SSignalKit/SSignal+Catch.m index 6a43a0cac8..61b97884d9 100644 --- a/SSignalKit/SSignal+Catch.m +++ b/SSignalKit/SSignal+Catch.m @@ -10,15 +10,15 @@ { return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) { - SMetaDisposable *disposable = [[SMetaDisposable alloc] init]; + SDisposableSet *disposable = [[SDisposableSet alloc] init]; - [disposable setDisposable:[self startWithNext:^(id next) + [disposable add:[self startWithNext:^(id next) { [subscriber putNext:next]; } error:^(id error) { SSignal *signal = f(error); - [disposable setDisposable:[signal startWithNext:^(id next) + [disposable add:[signal startWithNext:^(id next) { [subscriber putNext:next]; } error:^(id error) diff --git a/SSignalKit/SSignal+Single.m b/SSignalKit/SSignal+Single.m index 82c5a1570a..6da5943459 100644 --- a/SSignalKit/SSignal+Single.m +++ b/SSignalKit/SSignal+Single.m @@ -7,6 +7,7 @@ return [[SSignal alloc] initWithGenerator:^id (SSubscriber *subscriber) { [subscriber putNext:next]; + [subscriber putCompletion]; return nil; }]; }