Re: OS startup done event
Re: OS startup done event
- Subject: Re: OS startup done event
- From: Ethan Bold <email@hidden>
- Date: Thu, 5 Nov 2009 16:34:42 -0800
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 <email@hidden> wrote:
>
>> From: Shantonu Sen <email@hidden>
>> Subject: Re: OS startup done event
>> To: "Anil Kumar K" <email@hidden>
>> Cc: "darwin-kernel Kernel" <email@hidden>
>> 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 <email@hidden>
>> 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 (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>>
>>
>
>
> 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 (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden