From f44ce3a64cbd18d12ab5873ebfb2587adc0f3c31 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Tue, 2 Sep 2025 15:37:30 +0800 Subject: doxygen: updated doc for thread management subsystem Signed-off-by: Chen Wang --- include/rtthread.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'include/rtthread.h') diff --git a/include/rtthread.h b/include/rtthread.h index f910cfa1c0..73b31cf1e8 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -208,7 +208,30 @@ RT_OBJECT_HOOKLIST_DECLARE(rt_thread_inited_hookproto_t, rt_thread_inited); */ void rt_thread_idle_init(void); #if defined(RT_USING_HOOK) || defined(RT_USING_IDLE_HOOK) +// FIXME: Have to write doxygen comment here for rt_thread_idle_sethook/rt_thread_idle_delhook +// but not in src/idle.c. Because the `rt_align(RT_ALIGN_SIZE)` in src/idle.c +// will make wierd output for html document generation, i.e. can not generate +// function link to rt_thread_idle_sethook, while function link to rt_thread_idle_delhook is ok. +/** + * @brief This function sets a hook function to idle thread loop. When the system performs + * idle loop, this hook function should be invoked. + * + * @param hook the specified hook function. + * + * @return `RT_EOK`: set OK. + * `-RT_EFULL`: hook list is full. + * + * @note the hook function must be simple and never be blocked or suspend. + */ rt_err_t rt_thread_idle_sethook(void (*hook)(void)); +/** + * @brief delete the idle hook on hook list. + * + * @param hook the specified hook function. + * + * @return `RT_EOK`: delete OK. + * `-RT_ENOSYS`: hook was not found. + */ rt_err_t rt_thread_idle_delhook(void (*hook)(void)); #endif /* defined(RT_USING_HOOK) || defined(RT_USING_IDLE_HOOK) */ rt_thread_t rt_thread_idle_gethandler(void); -- cgit v1.3.1