Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: StartupItems



In message <email@hidden>, Graham J Lee writes:
>I think the argument would be that system startup is just a specific 
>example of the general case "something interesting happened and I want 
>to be run because of it", and that launchd deals with the happening of 
>interesting things.  I'd agree with that, if it were the argument :-)

Hmm.

Well, that suggests a way to resolve this fairly elegantly; just provide
a hook in plists for having services Do Something which causes other services
to run.

So, say, you add a tag like
	<key>StartupDone</key>
	<string>Gzornenplatzen</string>
in some plists, and in others, you have
	<key>StartupAfter</key>
	<string>Gzornenplatzen</string>

Bam.  Nice generic way to put the "something happened and I want to be run"
*IN LAUNCHD WHERE IT BELONGS* rather than having all the applications sit
around inventing new notification methods and writing their own code.

That's the thing; in many cases, it's utterly trivial to explain what ordering
I want.  If I have an ordering tool, I need one or two lines of code
somewhere.  If I have to do all the arbitration by hand, I can end up doing
callbacks and daemon communications in two or three different protocols at
once.

Which goes against the idea of a unified launcher which hides this complexity.

>As a sysadmin, launchd's allowed me to consolidate a mess of crontabs, 
>inetd/xinetd configurations, watchdog configurations[1], StartupItems 
>and custom rc.local files into a mess of plists looked at by just two 
>tools[2].  Still speaking as a sysadmin I tend to think of programs that 
>aren't launchd-ready as being so last century (what with there probably 
>being an order of magnitude more Tiger users than any other Unix 
>distribution, apart from maybe panther) and in need of some updating.

Some programs can be trivially updated, although in practice, I'd bet that
nearly nothing is completely "launchd-ready" in terms of surviving edge
conditions ("I put /Applications on a USB disk that takes a minute to power
up").

>Of course, my dev hat reminds me how much work that can involve...

Yeah.

-s
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden

References: 
 >Re: StartupItems (From: Graham J Lee <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.