hi, I was going through the code in _thread_change_priority(){..} (threadchangepriority.c) and had doubt. below is the code snippet.
_Atomic_Fence( ATOMIC_ORDER_ACQ_REL ); /* * Do not bother recomputing all the priority related information if * we are not REALLY changing priority. */ if ( ( *filter )( the_thread, &new_priority, arg ) ) { uint32_t my_generation; my_generation = the_thread->priority_generation + 1; the_thread->current_priority = new_priority; * the_thread->priority_generation = my_generation;* ( *the_thread->Wait.operations->priority_change )( the_thread, new_priority, the_thread->Wait.queue ); how is the data race problem avoided while setting the_thread->priority_generation? Thanks, Saurabh Gadia
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel