diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-09 13:54:17 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-04-09 13:54:17 +0200 |
commit | 41814fa648e2c8ab3fb2359e4617657e74590b38 (patch) | |
tree | c13c8fcbf6e559a9fd980187fa7bf031566321d7 /cpukit/score/src | |
parent | score: Use _Thread_Clear_state() for _Thread_Ready (diff) | |
download | rtems-41814fa648e2c8ab3fb2359e4617657e74590b38.tar.bz2 |
score: Fix thread queue race condition
On uni-processor configurations the change of the thread blocking state
in _Thread_queue_Requeue_priority() did no harm and was simply useless.
However on SMP configurations this resulted in invalid state changes
leading to a wrong resource ownership.
Diffstat (limited to 'cpukit/score/src')
-rw-r--r-- | cpukit/score/src/threadqenqueue.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 21bdcdb6dc..c059556408 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -92,7 +92,6 @@ static void _Thread_queue_Requeue_priority( { Thread_queue_Control *tq = context; - _Thread_queue_Enter_critical_section( tq ); _RBTree_Extract( &tq->Queues.Priority, &the_thread->RBNode ); _RBTree_Insert( &tq->Queues.Priority, |