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?)
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?)