diff options
| author | Grissiom <[email protected]> | 2013-12-21 11:24:37 +0800 |
|---|---|---|
| committer | Grissiom <[email protected]> | 2013-12-21 11:27:26 +0800 |
| commit | 408ac34bc2d762db7019a14cc5caf8af4df57b43 (patch) | |
| tree | f42003d993d5b3706acadf745772165fbc449c9b /src | |
| parent | ca270a46678b8de14fc23b2851ef84d265f29268 (diff) | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/scheduler.c | 10 |
1 files changed, 10 insertions, 0 deletions
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 <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; +} /*@}*/ |
