diff options
Diffstat (limited to 'schedsim/shell/schedsim_priority/wrap_thread_dispatch.c')
-rw-r--r-- | schedsim/shell/schedsim_priority/wrap_thread_dispatch.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/schedsim/shell/schedsim_priority/wrap_thread_dispatch.c b/schedsim/shell/schedsim_priority/wrap_thread_dispatch.c index 5a72bcb..60ce916 100644 --- a/schedsim/shell/schedsim_priority/wrap_thread_dispatch.c +++ b/schedsim/shell/schedsim_priority/wrap_thread_dispatch.c @@ -30,14 +30,18 @@ void Init__wrap__Thread_Dispatch() void check_heir_and_executing(void) { - if ( last_heir != _Thread_Heir ) - PRINT_HEIR(); + uint32_t level; - if ( last_executing != _Thread_Executing ) - PRINT_EXECUTING(); + _ISR_Disable_without_giant( level ); + if ( last_heir != _Thread_Heir ) + PRINT_HEIR(); - last_heir = _Thread_Heir; - last_executing = _Thread_Executing; + if ( last_executing != _Thread_Executing ) + PRINT_EXECUTING(); + + last_heir = _Thread_Heir; + last_executing = _Thread_Executing; + _ISR_Enable_without_giant( level ); } void __wrap__Thread_Dispatch(void) |