On Nov 23, 2010, at 12:55 PM, Philippe Strauss wrote: > Hello Cocoa developpers, > > When using a CFRunLoopRun() event loop in a non-GUI daemon, what kind of > resource and handler do you need to add to the loop for beeing able to > process signals (unix signals) and not beeing stuck in: > > (gdb) bt > #0 0x00007fff815592da in mach_msg_trap () > #1 0x00007fff8155994d in mach_msg () > #2 0x00007fff83f87932 in __CFRunLoopRun () > #3 0x00007fff83f86dbf in CFRunLoopRunSpecific () > #4 0x00007fff83f86b46 in CFRunLoopRun () > #5 0x00000001000017af in main (argc=0, argv=0x7fff5fbfe418) at > jackond.cpp:331
CFRunLoop does not normally process signals, however, it is possible to hack it in with CFFileDescriptor and kqueue. Look at Apple example code to accomplish this, specifically this function: static void InstallHandleSIGTERMFromRunLoop(void) http://developer.apple.com/library/mac/#samplecode/PreLoginAgents/Listings/PreLoginAgentCarbon_main_c.html%23//apple_ref/doc/uid/DTS10004414-PreLoginAgentCarbon_main_c-DontLinkElementID_3 Cheers, M_______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com