[launchd-dev] launchd - how to specify daemon needs to wait for network to start?

Dana Lacoste stark at jeamland.ca
Tue Apr 22 10:05:00 PDT 2008


Though I've not used it on Mac OS, as a perforce admin I can  
definitely state that this is how perforce will continue to work:

It's hard licensed to an IP address, so if that IP address does not  
exist on the server when the server is started, the licensing will  
fail, which is what you're seeing.

(This is fairly common for commercial software: perhaps we can write  
something that DOES use SystemConfiguration as a generic exec wrapper?)

(Note that the issue is only that the IP has to exist at process  
license verification: it'll still bind to *, so it doesn't need to  
ALWAYS exist, it only needs to exist at startup, so the wrapper (or  
the waitall wrapper below) should be fine.....)

Dana Lacoste

On Apr 22, 2008, at 09:07, Jim Correia wrote:

> On Apr 22, 2008, at 11:55 AM, Dave Zarzycki wrote:
>
>> The correct way is to modify the p4d to utilize the  
>> SystemConfiguration framework that Apple provides. That will let a  
>> developer monitor all forms of network state transitions. If that  
>> is temporarily impractical, one can wrap the invocation of p4d with  
>> a shell script:
>>
>> #!/bin/sh
>>
>> # ipconfig "waitall" might go away in a future release.
>> # we really need p4d to adopt the SystemConfiguration framework
>> /usr/sbin/ipconfig waitall
>>
>> exec /usr/local/bin/p4d
>
> Thanks Dave, that solves the problem.
>
> Modifying p4d is impractical since it is closed source commercial  
> software that we license. I'm currently on an older release. If the  
> current release has the same issue, I'll log an enhancement request  
> with Perforce.
>
> Jim
>
> _______________________________________________
> launchd-dev mailing list
> launchd-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/launchd-dev



More information about the launchd-dev mailing list