On 3/31/2015 1:00 AM, Sebastian Huber wrote: > --- > cpukit/score/src/threadsetstate.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/cpukit/score/src/threadsetstate.c > b/cpukit/score/src/threadsetstate.c > index 02ee70e..8114d70 100644 > --- a/cpukit/score/src/threadsetstate.c > +++ b/cpukit/score/src/threadsetstate.c > @@ -22,7 +22,6 @@ > #endif > > #include <rtems/score/threadimpl.h> > -#include <rtems/score/isrlevel.h> > #include <rtems/score/schedulerimpl.h> > > void _Thread_Set_state( > @@ -31,17 +30,17 @@ void _Thread_Set_state( > ) > { > ISR_lock_Context lock_context; > - States_Control current_state; > + States_Control previous_state; > + States_Control next_state; > Would it make sense to put a debug assert here that the state being set is non-zero?
Otherwise, unless there are logically more self-checks, I don't have a problem with this patch set. Did it reduce code size any? > _Scheduler_Acquire( the_thread, &lock_context ); > > - current_state = the_thread->current_state; > - if ( _States_Is_ready( current_state ) ) { > - the_thread->current_state = state; > + previous_state = the_thread->current_state; > + next_state = _States_Set( state, previous_state); > + the_thread->current_state = next_state; > > + if ( _States_Is_ready( previous_state ) ) { > _Scheduler_Block( the_thread ); > - } else { > - the_thread->current_state = _States_Set( state, current_state); > } > > _Scheduler_Release( the_thread, &lock_context ); -- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel