From 41814fa648e2c8ab3fb2359e4617657e74590b38 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 9 Apr 2015 13:54:17 +0200 Subject: 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. --- cpukit/score/src/threadqenqueue.c | 1 - 1 file changed, 1 deletion(-) 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, -- cgit v1.2.3