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