It communicates with a kernel extension which loads at boot time,
and ideally the daemon would load as early as possible. Is there
a way to tell when launchd will try to load a daemon in the
absence of others which depend on it?
No, and that is a feature in fact. :-)
launchd is a completely different bootstrapping philosophy.
Under launchd, dependancies are expected to be expressed via APIs,
and those APIs may (or most likely) will use IPC to determine when
goals have been satisfied.
The nice thing about APIs is that it encourages daemon writers to
register callbacks for when their requirements are satisfied, which
could be 30 seconds from now, or 30 days from now, it doesn't
matter. But at least the daemon can make forward progress with
other goals in the interim.
In your case, it sounds like you need to use the available kext
management APIs to determine when your driver has been loaded.
I hope all this makes sense.
Yes. My current testing shows that the daemon is generally started
by launchd before the KEXT finishes it's load, so it's probably not
going to be a big issue.
When you say that 'dependencies are expected to be expressed via
APIs,' are you talking about the APIs that a particular daemon calls
to do it's work, and which implicitly define a dependency tree?
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden