This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Is this a bug


Hi All,

Kernel package src/sched/mlqueue.cxx
in function Cyg_ThreadQueue_Implementation::enqueue(Cyg_Thread *thread) ,

When there is more than one thread in the queue and the priority is neither higer than the head nor lower than the tail, we have to search the queue to find the place. The code for this is:

Cyg_Thread *qtmp = get_tail();
while ( thread->priority > qtmp->priority)
   qtmp = qtmp->get_prev();
qtmp->append( thread );

I think this should be:

Cyg_Thread *qtmp = get_tail();
while ( thread->priority *<* qtmp->priority)
   qtmp = qtmp->get_prev();
qtmp->append( thread );

Regards


-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]