RunLoop in Helper Tool
RunLoop in Helper Tool
- Subject: RunLoop in Helper Tool
- From: "Gerriet M. Denkmann" <email@hidden>
- Date: Sun, 15 Sep 2013 15:32:57 +0700
I have a Helper Tool, running as root, started via SMJobBless and communicating vie Xpc.
Works fine, but:
1. it cannot stop (CFRunLoopStop),
2. Timers never fire
3. NSRunLoop currentMode returns nil.
Maybe all three things are related.
To 1:
if ( asked to quit )
{
NSRunLoop *currentRunLoop = [ NSRunLoop currentRunLoop ];
CFRunLoopRef rl = [ currentRunLoop getCFRunLoop ];
NSLog(@"%s will stop runloop %p",__FUNCTION__, rl); // rl ≠ NULL
CFRunLoopStop ( rl ); // runLoop will NOT stop
}
Helper Tool main:
int main(int argc, const char * argv[])
{
@autoreleasepool
{
NSString * bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
NSXPCListener *listener = [[NSXPCListener alloc] initWithMachServiceName: bundleIdentifier ];
listener.delegate = ...;
[listener resume];
NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop];
[ currentRunLoop run ];
}
return EXIT_SUCCESS;
}
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden