quitSource_ = CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &quitContext);
CFRunLoopAddSource([runLoop_ getCFRunLoop], quitSource_, kCFRunLoopCommonModes);
- [runLoop_ run];
+ CFRunLoopRun();
thread_ = nil;
runLoop_ = nil;
*/
- (void)close
{
+ if (thread_) {
+ [thread_ cancel];
+ }
if (runLoop_ && quitSource_) {
CFRunLoopSourceSignal(quitSource_);
CFRunLoopWakeUp([runLoop_ getCFRunLoop]);
*/
- (void)performQuitSignal
{
+ self.queuedWrites = nil;
+ connected_ = NO;
+ [writeQueueLock_ release];
+
if (runLoop_) {
CFRunLoopStop([runLoop_ getCFRunLoop]);
}
CFRelease(socket_);
socket_ = NULL;
}
-
- self.queuedWrites = nil;
- connected_ = NO;
- [writeQueueLock_ release];
}
/**