XPC is based on GCD. There is chance that your request handling occurs in a GCD thread and not on the main thread.
[NSRunLoop currentRunLoop] returns the current thread run loop. If you are not on the main thread, it will not work. Try that instead: CFRunLoopStop(CFRunLoopGetMain()); Le 15 sept. 2013 à 10:32, Gerriet M. Denkmann <gerr...@mdenkmann.de> a écrit : > 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 (Cocoa-dev@lists.apple.com) > > 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: > https://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org > > This email sent to devli...@shadowlab.org -- Jean-Daniel _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com