Re: NSWorkspace in a daemon
Re: NSWorkspace in a daemon
- Subject: Re: NSWorkspace in a daemon
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 30 Nov 2009 16:37:55 +0100
Le 30 nov. 2009 à 16:25, Bill Garrison a écrit :
>
> On Nov 30, 2009, at 9:17 AM, Nyxouf da ouf wrote:
>
>> Hi,
>>
>> I have an Obj-c program who run as a daemon, using launchd, and that look
>> for NSWorkspaceDidMountNotification.
>>
>> *[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
>> selector:@selector(diskDidMount:) name:NSWorkspaceDidMountNotification
>> object:nil];*
>> -(void)diskDidMount:(NSNotification*)notif
>> {
>> NSLog(@"disk did mount");
>> }
>>
>> My problem is that when the daemon is launched as root the notification
>> isn't catched, how can I solve this ?
>
> This probably has something to do with Mach namespaces.
>
> <http://developer.apple.com/mac/library/technotes/tn2005/tn2083.html#SECMACHBOOTSTRAPBASICS>
>
> The daemon launched as root gets its own Mach namespace, separate from other user-level processes on the box. The NSWorkspaceDidMountNotification probably won't cross the Mach namespace boundary between the root-based daemon and other user-level apps that might be listening for it.
>
> Bill
AppKit is not daemon safe.
http://developer.apple.com/mac/library/technotes/tn2005/tn2083.html#SECLIVINGDANGEROUSLY
-- Jean-Daniel
_______________________________________________
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