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 (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