[launchd-dev] launch_msg(): Socket is not connected

Quinn eskimo1 at apple.com
Wed Jun 24 04:14:23 PDT 2009


At 12:20 +0530 23/6/09, Arjun SM wrote:
>Any update for the below query ??

Just to be clear, mailing lists are not an official support channel. 
We basically do this stuff in our spare time.  If you want proper 
tech support, you should open a DTS tech support incident.

<http://developer.apple.com/support/mac/techsupport/>

At 23:31 +0530 18/6/09, Arjun SM wrote:
>I will take your word for it . I was of the notion that i have to 
>support multiple users for my application.

Well, there's a difference between supporting multiple users and 
supporting all of the edge cases brought about by multiple users.  I 
totally agree that you should support multiple GUI users in general. 
However, that presents some unique install, upgrade and uninstall 
problems, and I think it's better that you solve those problems in a 
nice simple manner (forcing a restart in the multiple user case, for 
example) than do some convoluted hack that will break in mysterious 
ways in the future.

But hey, Mac OS X is a very open platform so you get to choose how to 
spend your development time.

And yes, we do recognise that this is a nasty wrinkle in the whole 
launchd story and we hope to fix this eventually.

>Also i had one more scenario and this is while Uninstalling .
>The scenario is
>If i install my application on One User and i log in to other User 
>via Fast User Switching and Other user being the System 
>Administrator (root) and Uninstall for all Users being in root ... i 
>get these log messages
>
>(com.mycmpny.appname) Throttling respawn: Will restart in 10 seconds.
>(com.mycmpny.appname) Throttling respawn: Will restart in 10 seconds.
>(com.mycmpny.appname) Throttling respawn: Will restart in 10 seconds.
>
>i have used the below code for removing the job from launchd
>su -l $userName -c "launchctl unload -S Aqua 
>/Library/LaunchAgents/com.mycmpny.appname.plist
>This code works fine for normal and Admin Users though.
>
>First of all I want to ask you if  it is  a valid Usecase. If so how 
>should i be removing the job form launchd.

This is exactly the same sort of problem (your launchctl is running 
in a different context from your job).  Fortunately uninstall is 
pretty easy: just do what I described in the upgrade scenario in the 
previous email.  That is, have your daemon tell your agents to 
uninstall themselves.

S+E
-- 
Quinn "The Eskimo!"                    <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware


More information about the launchd-dev mailing list