diff options
| author | Bernard Xiong <[email protected]> | 2021-06-03 20:23:00 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-06-03 20:23:00 +0800 |
| commit | e984037e4433ef89f1e80a0d13074182410307ef (patch) | |
| tree | ba6423d9f6461e0973fbaa46abd034d50d1e173f /src | |
| parent | 52a66cc96f4a1feda5edb68e06e4ea7e9e522fdd (diff) | |
| parent | 5a6bc9900689ba2d21850cc520c3621c57037025 (diff) | |
Merge pull request #4758 from mysterywolf/protect
[bug][kernel] 保持空闲任务钩子函数调用的原子性
Diffstat (limited to 'src')
| -rw-r--r-- | src/clock.c | 3 | ||||
| -rw-r--r-- | src/idle.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/clock.c b/src/clock.c index 045555933d..191525411a 100644 --- a/src/clock.c +++ b/src/clock.c @@ -13,7 +13,8 @@ * 2010-07-13 Bernard fix rt_tick_from_millisecond issue found by kuronca * 2011-06-26 Bernard add rt_tick_set function. * 2018-11-22 Jesven add per cpu tick - * 2020-12-29 Meco Man add function rt_tick_get_millisecond() + * 2020-12-29 Meco Man implement rt_tick_get_millisecond() + * 2021-06-01 Meco Man add critical section projection for rt_tick_increase() */ #include <rthw.h> diff --git a/src/idle.c b/src/idle.c index 59868352d8..e73a78be9c 100644 --- a/src/idle.c +++ b/src/idle.c @@ -202,12 +202,14 @@ static void rt_thread_idle_entry(void *parameter) { #ifdef RT_USING_IDLE_HOOK rt_size_t i; + void (*idle_hook)(void); for (i = 0; i < RT_IDLE_HOOK_LIST_SIZE; i++) { - if (idle_hook_list[i] != RT_NULL) + idle_hook = idle_hook_list[i]; + if (idle_hook != RT_NULL) { - idle_hook_list[i](); + idle_hook(); } } #endif |
