diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-11-10 08:54:03 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-11-23 11:00:28 +0100 |
commit | 6443c9dbb7dda8a19ae311c126a19d16ec975ae8 (patch) | |
tree | 937009ec537cf36518b4722ee1d444fcd776ff17 | |
parent | score: Rework ask for help requests (diff) | |
download | rtems-6443c9dbb7dda8a19ae311c126a19d16ec975ae8.tar.bz2 |
score: Fix assertion in SMP scheduler framework
Properly assert that the scheduled chain is not empty. Fix formatting.
Close #4531.
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/score/schedulersmpimpl.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cpukit/include/rtems/score/schedulersmpimpl.h b/cpukit/include/rtems/score/schedulersmpimpl.h index 6e2e21e544..97a77121ed 100644 --- a/cpukit/include/rtems/score/schedulersmpimpl.h +++ b/cpukit/include/rtems/score/schedulersmpimpl.h @@ -872,16 +872,19 @@ static inline Scheduler_Node *_Scheduler_SMP_Get_lowest_scheduled( Scheduler_Node *filter ) { - Scheduler_SMP_Context *self = _Scheduler_SMP_Get_self( context ); - Chain_Control *scheduled = &self->Scheduled; - Scheduler_Node *lowest_scheduled = - (Scheduler_Node *) _Chain_Last( scheduled ); + Scheduler_SMP_Context *self; + Scheduler_Node *lowest_scheduled; (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( - _Chain_Next( &lowest_scheduled->Node.Chain ) == _Chain_Tail( scheduled ) + _Chain_Next( &lowest_scheduled->Node.Chain ) == + _Chain_Tail( &self->Scheduled ) ); return lowest_scheduled; |