score: Fix assertion in SMP scheduler framework

Properly assert that the scheduled chain is not empty.  Fix formatting.

Close #4531.
This commit is contained in:
Sebastian Huber
2021-11-10 08:54:03 +01:00
parent fc64e837c3
commit 6443c9dbb7

View File

@@ -872,16 +872,19 @@ static inline Scheduler_Node *_Scheduler_SMP_Get_lowest_scheduled(
Scheduler_Node *filter Scheduler_Node *filter
) )
{ {
Scheduler_SMP_Context *self = _Scheduler_SMP_Get_self( context ); Scheduler_SMP_Context *self;
Chain_Control *scheduled = &self->Scheduled; Scheduler_Node *lowest_scheduled;
Scheduler_Node *lowest_scheduled =
(Scheduler_Node *) _Chain_Last( scheduled );
(void) filter; (void) filter;
_Assert( &lowest_scheduled->Node.Chain != _Chain_Tail( scheduled ) ); self = _Scheduler_SMP_Get_self( context );
_Assert( !_Chain_Is_empty( &self->Scheduled ) );
lowest_scheduled = (Scheduler_Node *) _Chain_Last( &self->Scheduled );
_Assert( _Assert(
_Chain_Next( &lowest_scheduled->Node.Chain ) == _Chain_Tail( scheduled ) _Chain_Next( &lowest_scheduled->Node.Chain ) ==
_Chain_Tail( &self->Scheduled )
); );
return lowest_scheduled; return lowest_scheduled;