Getting launchd working

D

dr_springfield

Guest
Has anyone actually gotten launchd working for running their own TCP/IP daemon?

Unfortunately the launch interface is undocumented (note the suspicious lack of the launch(3) manpage), but from reading launch.h for the API and launchproxy.c for an example, I was able to determine that the correct course of events goes as follows:

launch_data_alloc(LAUNCH_DATA_STRING);
launch_data_set_string(msg, LAUNCH_KEY_CHECKIN);
resp = launch_msg(msg)

launch_data_dict_lookup(resp, LAUNCH_JOBKEY_SOCKETS);
...

Unfortunately I can't get this working -- response launch_data_t ("resp") is of type LAUNCH_DATA_ERRNO. The error is 13 (EACCESS). Apparently my daemon doesn't have permissions to get the response to LAUNCH_KEY_CHECKIN...?

Anyone know how to get this working (or an alternative method to get active FDs from within the daemon?)
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top