diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 85ed663289..f52266601e 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2009-11-30 Sebastian Huber + + * score/src/threaddelayended.c: Clear only the states that are used to + block until someone calls _Thread_Delay_ended(). + 2009-11-30 Sebastian Huber * score/include/rtems/score/protectedheap.h, diff --git a/cpukit/score/src/threaddelayended.c b/cpukit/score/src/threaddelayended.c index 5f5e94e0d1..d3c6eb116b 100644 --- a/cpukit/score/src/threaddelayended.c +++ b/cpukit/score/src/threaddelayended.c @@ -59,7 +59,12 @@ void _Thread_Delay_ended( #endif break; case OBJECTS_LOCAL: - _Thread_Unblock( the_thread ); + _Thread_Clear_state( + the_thread, + STATES_DELAYING + | STATES_WAITING_FOR_TIME + | STATES_INTERRUPTIBLE_BY_SIGNAL + ); _Thread_Unnest_dispatch(); break; }