From 408ac34bc2d762db7019a14cc5caf8af4df57b43 Mon Sep 17 00:00:00 2001 From: Grissiom Date: Sat, 21 Dec 2013 11:24:37 +0800 Subject: 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. --- src/scheduler.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/scheduler.c b/src/scheduler.c index cefc5b8c41..a0384e899a 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -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 @@ -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; +} /*@}*/ -- cgit v1.3.1