forked from Imagelibrary/rtems
score: Improve assert
While cpu_self->thread_dispatch_disable_level shouldn't ever be zero, it would be better to check it before doing the decrement.
This commit is contained in:
committed by
Sebastian Huber
parent
b8cdc38b2f
commit
41b37e0073
@@ -107,11 +107,15 @@ uint32_t _Thread_Dispatch_decrement_disable_level( void )
|
|||||||
|
|
||||||
cpu_self = _Per_CPU_Get();
|
cpu_self = _Per_CPU_Get();
|
||||||
disable_level = cpu_self->thread_dispatch_disable_level;
|
disable_level = cpu_self->thread_dispatch_disable_level;
|
||||||
|
_Assert( disable_level > 0);
|
||||||
--disable_level;
|
--disable_level;
|
||||||
cpu_self->thread_dispatch_disable_level = disable_level;
|
cpu_self->thread_dispatch_disable_level = disable_level;
|
||||||
|
|
||||||
_Giant_Do_release( cpu_self );
|
_Giant_Do_release( cpu_self );
|
||||||
_Assert( disable_level != 0 || _Giant.owner_cpu != cpu_self );
|
_Assert(
|
||||||
|
( disable_level == 0 && _Giant.owner_cpu != cpu_self )
|
||||||
|
|| ( disable_level != 0 && _Giant.owner_cpu == cpu_self )
|
||||||
|
);
|
||||||
|
|
||||||
_Profiling_Thread_dispatch_enable( cpu_self, disable_level );
|
_Profiling_Thread_dispatch_enable( cpu_self, disable_level );
|
||||||
_ISR_Enable_without_giant( isr_level );
|
_ISR_Enable_without_giant( isr_level );
|
||||||
|
|||||||
Reference in New Issue
Block a user