From ba87fbf88a47712a1cac9c86cd670417a132b719 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 5 Oct 2014 12:19:05 +0000 Subject: [PATCH] Added chThdGetIdleX() API. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7365 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/rt/include/chthreads.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/os/rt/include/chthreads.h b/os/rt/include/chthreads.h index fa093b09c..a86a4c7ec 100644 --- a/os/rt/include/chthreads.h +++ b/os/rt/include/chthreads.h @@ -277,6 +277,25 @@ static inline thread_t *chThdGetSelfX(void) { return ch.rlist.r_current; } +#if !CH_CFG_NO_IDLE_THREAD || defined(__DOXYGEN__) +/** + * @brief Returns a pointer to the idle thread. + * @pre In order to use this function the option @p CH_CFG_NO_IDLE_THREAD + * must be disabled. + * @note The reference counter of the idle thread is not incremented but + * it is not strictly required being the idle thread a static + * object. + * + * @return Pointer to the idle thread. + * + * @xclass + */ +static inline thread_t *chThdGetIdleX(void) { + + return ch.rlist.r_queue.p_prev; +} +#endif /* !CH_CFG_NO_IDLE_THREAD */ + /** * @brief Returns the current thread priority. * @note Can be invoked in any context.