This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: When or on what condition does "deschedule" happen?
- From: Andrew Lunn <andrew at lunn dot ch>
- To: ariga masahiro <ariga at link-lab dot co dot jp>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Mon, 19 May 2008 15:18:03 +0200
- Subject: Re: [ECOS] When or on what condition does "deschedule" happen?
- References: <001001c85189$461611c0$1c0110ac@ariga> <4782BE28.8030706@mlbassoc.com> <000601c8750f$5ffb19b0$1c0110ac@ariga> <001001c87522$98475a50$1c0110ac@ariga> <000c01c8b72c$95df1bd0$1c0110ac@ariga> <20080516125053.GA27629@lunn.ch> <001901c8b971$a14202c0$1c0110ac@ariga>
> My question is last part of Deschedule when ThreadC resumes execution.
>
> Am I correct in assuming that among your conditions, only two conditions
> should be fullfiled to make it possible
> for ThreadC to resume execution ?
> 1.When the thread blocks.(How does scheduler recognise this ?)
Blocking calls are part of the OS and the scheduler knows about them.
> 2.When a thread exits.
>
> If ThreadA does not finish and enter looping state,then isn't there any
> way for ThreadC to resume execution ?
Nope. The highest priority runnable thread always runs. All high
priority threads need to finish doing what they are doing before a
lower priority threads get to run.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss