Gedare Bloom commented on a discussion on cpukit/score/src/threadqflush.c: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1067#note_143756

 >        Scheduler_Node *scheduler_node;
 >  
 >        scheduler_node = _Thread_Scheduler_get_home_node( first );
 > +      _Chain_Initialize_node( 
 > &scheduler_node->Wait.Priority.Node.Node.Chain );

Ok, I wonder if we should consider alternatives:
* In `_RBTree_Set_off_tree()`, explicitly NULL the `RTEMS_RB_LEFT()` and 
`RTEMS_RB_RIGHT()`. This is actually not quite sufficient, since there could 
still be non-NULL in `RTEMS_RB_LEFT()` without `RTEMS_DEBUG` enabled, which 
would cause a check of off-chain to fail.
* Add the explicit NULL in `_Priority_Plain_extract`, or even call 
`_Chain_Set_off_chain()` there.

That would solve the problem at its root cause instead of at the point of use.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1067#note_143756
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to