From dbec22db45b85f996d7bc06a9398fdc597f0ebe3 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 30 Nov 2009 19:44:57 +0000 Subject: [PATCH] 2009-11-30 Sebastian Huber * score/src/threaddelayended.c: Clear only the states that are used to block until someone calls _Thread_Delay_ended(). --- cpukit/ChangeLog | 5 +++++ cpukit/score/src/threaddelayended.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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; }