site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Hi Anil, Shantonu- The SystemLoadAdvisory mechanism is an inappropriate choice here. It will report when it's appropriate to run speculative work (like re-building an index, or refreshing a web page, or XCode doing a speculative build...). The goal is for processes to take the "Good", "OK", "Bad" responses as guidelines, and change the frequency of their speculative actions. A lot of these things still need to happen when the system is "Bad", but should be done less frequently. Given that, and given that the system might never reach an "OK" level (it could always be Great, or Bad), you should find another solution to this problem. SystemLoadAdvisory has nothing to do with when the system is initially available. So - you want to delay the CPU-intensive initialization time of your service until after boot, so as not to affect boot times. Have you considered becoming a launch-on-demand launch daemon? That way you could defer your initialization costs until you're first accessed. This is what I'd recommend you look into, without knowing more about your problem. -Ethan On Nov 5, 2009, at 3:35 AM, Anil Kumar K wrote:
Hi Shantonu
Sorry for the late response. Can you please provide sample code on this. I had seen the header file you suggested but I am confused as to what APIs to call.
Thanks Anil Kumar
--- On Tue, 27/10/09, Shantonu Sen <ssen@apple.com> wrote:
From: Shantonu Sen <ssen@apple.com> Subject: Re: OS startup done event To: "Anil Kumar K" <k_anilk@yahoo.com> Cc: "darwin-kernel Kernel" <darwin-kernel@lists.apple.com> Date: Tuesday, 27 October, 2009, 7:27 PM "OS Startup" is never really done. That said, <IOKit/pwr_mgt/IOPMLib.h> has some APIs related to system load. You can start up and wait for the load to reach an "OK" level (yes, that's a technical term), or some outer bound timeout like 10 minutes.
Shantonu
Sent from my MacBook
On Oct 27, 2009, at 6:07 AM, Michael Crawford wrote:
On Tue, Oct 27, 2009 at 4:45 AM, Anil Kumar K <k_anilk@yahoo.com> wrote:
I have a daemon which has to provide some service. I would like to delay providing this service till completion of the OS startup (all OS daemons are up and running) so that it does not affect boot time. Service initialization is a cpu intensive activity. Is there any OS event to know whether the startup is completed or not?
Does the login screen have some particular process name? Perhaps you could poll for its existence, then sleep a few seconds, and iterate until it appears.
However the user might have selected automatic login - to handle that one would need to watch for the Finder to appear as well.
Mike -- Michael David Crawford mdcrawford at gmail dot com
GoingWare's Bag of Programming Tricks http://www.goingware.com/tips/ _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/ssen%40apple.com
This email sent to ssen@apple.com
Connect more, do more and share more with Yahoo! India Mail. Learn more. http://in.overview.mail.yahoo.com/ _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/ebold%40apple.com
This email sent to ebold@apple.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Ethan Bold