>>> /* >>> * This is done when we need to check if reevaluations are needed. >>> */ >>> if ( victim == NULL ) { >>> - return _Scheduler_priority_Ready_queue_first( >>> + node = (Scheduler_priority_affinity_SMP_Node *) >>> + _Scheduler_priority_Ready_queue_first( >>> &self->Bit_map, >>> &self->Ready[ 0 ] >>> ); >>> + >>> + return &node->Base.Base.Base; >> >> This Base.Base.Base is quite awkward and not at all clear what it >> means. Shouldn't this be using a downcast() function? Repeated a few >> times. >> >> -Gedare > > > No, this Base.Base.Base basically is an upcast. In C++ this stuff would be > hidden the compiler for you, but we use C, so object oriented stuff is > awkward. > Got it, but it might improve readability to introduce something like _Scheduler_priority_affinity_SMP_Node_upcast_to_scheduler_node()
-Gedare _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel