This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: How to know whether currently there is any thread ready to run?
- From: "Young Jay" <young_jay at sohu dot com>
- To: "Jonathan Larmour" <jifl at eCosCentric dot com>
- Cc: <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 5 Mar 2004 16:20:55 +0800 (CST)
- Subject: Re:[ECOS] How to know whether currently there is any thread ready to run?
Hi, Jonathan:
Thank you for your reply. I tried, but it doesn't give the result I need.
When I referred to an eCos book, "Embedded Software Development with eCos",
which is written by Anthony J. Massa, I noticed that the function cyg_thread_self
returns the handle of current thread, and can only be called by current thread.
Thus I think I can't use this function in interrupt_end or RTC's DSR to seek the
current thread ready to run. Right?
Best regards,
Young Jay
----- Original Message -----
From: Jonathan Larmour
To: Young Jay
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] How to know whether currently there is any thread ready
to run?
Sent: Thu Mar 04 11:15:46 CST 2004
> Jonathan Larmour wrote:
> > Young Jay wrote:
> >
> >>Hello, all:
> >>
> >>In my design, when performing the real time clock interrupt ISR, I'd
> >>like to know if there is any thread just getting ready to run after a
> >>time delay. Thus I can decide whether the system power mode should be
> >>changed. Is there a function designed for this need? Thanks a lot for
> >>you concern.
> >
> >
> > Sort of. After the clock *D*SR runs, possibly by editting interrupt_end
> > before the scheduler unlock, you can compare the handle returned against
> > the idle thread, e.g. by testing cyg_thread_get_priority( cyg_thread_self()
> > ) == 31.
>
> Duh, forget the last bit - the idle thread handle is exported using the
> function:
>
> cyg_handle_t cyg_thread_idle_thread(void);
>
> Jifl
> --
> eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
> >>>>> Visit us in booth 2527 at the Embedded Systems Conference 2004 <<<<<
> March 30 - April 1, San Francisco http://www.esconline.com/electronicaUSA/
> --["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss