[launchd-dev] launchd check-in: Where's the documentation?
Damien Sorresso
dsorresso at apple.com
Mon Aug 10 11:59:47 PDT 2009
On Aug 10, 2009, at 9:56 AM, Sidney San Martín wrote:
> I can't find any documentation on the launchd checkin process. Using
> SampleD, launch.h, and other people's documentation of their
> discoveries it's possible to put together a working daemon, but with
> no guarantee that you're doing everything right. (Even though launchd
> is open source, its APIs need documentation.)
The SampleD project is fine. Its purpose is to illustrate how to check
in.
> launchd.plist(5) is the first place I even saw the check-in process
> mentioned: "The job must check-in to get a copy of the file
> descriptors using APIs outlined in launch(3)". launch(3) doesn't exist
> (<rdar://problem/7130390>). It seems like the following, at least,
> should be documented:
It won't be. We're going to deprecate that API. Just use the SampleD
project. The comments are reliable as documentation of what's going on.
> 1) What check-in is and when it is necessary
If you don't know, you probably don't need it. :) Only use this API if
your job advertises a socket.
> 2) The consequences of a job not checking in when launchd expects it
The only consequences are that the job won't receive the file
descriptors for the sockets whose connection caused it to launch on-
demand. But if your job isn't launch-on-demand, you don't need to worry.
> 3) What keys in the response dictionary are filled in at runtime
See SampleD.
> 4) How to memory manage launch data returned by check-in functions
> (i.e. what needs to be released)
See SampleD.
> 5) Error conditions and how to handle them
See SampleD.
> What do you think? Has this come up before? Is there some secret store
> of documentation I'm missing? Is this API so intuitive that
> documentation is redundant?
No. We don't like that API very much and plan on getting rid of it and
replacing it with something that is intuitive. So you're not really
missing anything.
--
Damien Sorresso
BSD Engineering
Apple Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2425 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/launchd-dev/attachments/20090810/970619fc/attachment.bin>
More information about the launchd-dev
mailing list