On Jul 24, 2009, at 5:10 PM, Dave Keck wrote:

The notifications don't cross threads; they are delivered in the thread
where they are posted.

Yes, I understand that. There must be some quirk that allows it to work
when doing an NSTask

Just a tidbit - I don't think there's any quirks involved. The general
idea is this: NSTask creates a run loop source on the main thread, and
spawns a second thread to watch the process for termination. When the
process terminates, the secondary thread signals the main thread's run
loop (via CFRunLoopSourceSignal()), and the run loop source's callback
then executes on the main thread, which issues the notification. On
10.5+, this can be done trivially using kqueue and CFFileDescriptor.

You could probably also notify the main thread by using - performSelectorOnMainThread:withObject:waitUntilDone: to execute NSNotificationCenter's postNotification: method.

Charles
_______________________________________________

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

Reply via email to