kernel: add rt_critical_level that return the lock count of scheduler
Out side world may be interested in whether the scheduler is locked or not. Provide an API to tell that.
This commit is contained in:
parent
ca270a4667
commit
408ac34bc2
|
@ -173,6 +173,7 @@ void rt_schedule_remove_thread(struct rt_thread *thread);
|
|||
|
||||
void rt_enter_critical(void);
|
||||
void rt_exit_critical(void);
|
||||
rt_uint16_t rt_critical_level(void);
|
||||
|
||||
#ifdef RT_USING_HOOK
|
||||
void rt_scheduler_sethook(void (*hook)(rt_thread_t from, rt_thread_t to));
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
* issue found by kuronca
|
||||
* 2010-12-13 Bernard add defunct list initialization even if not use heap.
|
||||
* 2011-05-10 Bernard clean scheduler debug log.
|
||||
* 2013-12-21 Grissiom add rt_critical_level
|
||||
*/
|
||||
|
||||
#include <rtthread.h>
|
||||
|
@ -398,5 +399,14 @@ void rt_exit_critical(void)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the scheduler lock level
|
||||
*
|
||||
* @return the level of the scheduler lock. 0 means unlocked.
|
||||
*/
|
||||
rt_uint16_t rt_critical_level(void)
|
||||
{
|
||||
return rt_scheduler_lock_nest;
|
||||
}
|
||||
/*@}*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue