diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-23 21:29:56 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-05-19 12:00:42 +0200 |
commit | 56729d83c99ee393c707acfcbcd7d290f97fd07d (patch) | |
tree | ef6f9e75578c133ff1300b4d86de13d67832b30c /cpukit/posix/src/psignalunblockthread.c | |
parent | score: _Thread_queue_Extract() (diff) | |
download | rtems-56729d83c99ee393c707acfcbcd7d290f97fd07d.tar.bz2 |
score: Delete STATES_WAITING_ON_THREAD_QUEUE
Avoid the usage of the current thread state in
_Thread_queue_Extract_with_return_code() since thread queues should not
know anything about thread states.
Diffstat (limited to 'cpukit/posix/src/psignalunblockthread.c')
-rw-r--r-- | cpukit/posix/src/psignalunblockthread.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cpukit/posix/src/psignalunblockthread.c b/cpukit/posix/src/psignalunblockthread.c index c56c1502a1..1b3db68262 100644 --- a/cpukit/posix/src/psignalunblockthread.c +++ b/cpukit/posix/src/psignalunblockthread.c @@ -114,11 +114,11 @@ bool _POSIX_signals_Unblock_thread( * In pthread_cond_wait, a thread will be blocking on a thread * queue, but is also interruptible by a POSIX signal. */ - if ( _States_Is_waiting_on_thread_queue(the_thread->current_state) ) - _Thread_queue_Extract_with_proxy( the_thread ); - else if ( _States_Is_delaying(the_thread->current_state) ) { + if ( _States_Is_delaying(the_thread->current_state) ) { (void) _Watchdog_Remove( &the_thread->Timer ); _Thread_Unblock( the_thread ); + } else { + _Thread_queue_Extract_with_proxy( the_thread ); } } } |