diff options
Diffstat (limited to 'cpukit/score/src/threadqenqueue.c')
-rw-r--r-- | cpukit/score/src/threadqenqueue.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 0e16f59c46..5f94ec99c9 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -194,13 +194,12 @@ void _Thread_queue_Extract_with_return_code( _Thread_queue_Acquire( &lock_context ); - if ( !_States_Is_waiting_on_thread_queue( the_thread->current_state ) ) { + the_thread_queue = the_thread->Wait.queue; + if ( the_thread_queue == NULL ) { _Thread_queue_Release( &lock_context ); return; } - the_thread_queue = the_thread->Wait.queue; - if ( the_thread_queue->discipline == THREAD_QUEUE_DISCIPLINE_FIFO ) { _Chain_Extract_unprotected( &the_thread->Object.Node ); } else { /* must be THREAD_QUEUE_DISCIPLINE_PRIORITY */ |