blob: 65114d3c0a7f84903357d72374a39000b02c655b [file] [log] [blame]
//
// RACTargetQueueScheduler.m
// ReactiveCocoa
//
// Created by Josh Abernathy on 6/6/13.
// Copyright (c) 2013 GitHub, Inc. All rights reserved.
//
#import "RACTargetQueueScheduler.h"
#import "RACBacktrace.h"
#import "RACQueueScheduler+Subclass.h"
@implementation RACTargetQueueScheduler
#pragma mark Lifecycle
- (id)initWithName:(NSString *)name targetQueue:(dispatch_queue_t)targetQueue {
NSCParameterAssert(targetQueue != NULL);
if (name == nil) {
name = [NSString stringWithFormat:@"com.ReactiveCocoa.RACTargetQueueScheduler(%s)", dispatch_queue_get_label(targetQueue)];
}
dispatch_queue_t queue = dispatch_queue_create(name.UTF8String, DISPATCH_QUEUE_SERIAL);
if (queue == NULL) return nil;
dispatch_set_target_queue(queue, targetQueue);
self = [super initWithName:name queue:queue];
if (self == nil) return nil;
dispatch_release(queue);
return self;
}
@end