diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-08-11 10:26:57 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-08-11 11:13:42 +0200 |
commit | 424ffe4db039878eae13428d1ddeeb4a7c7f47fe (patch) | |
tree | 8f6e984f0f0c386e3c7aa58b9fb817aba6e56ea2 /cpukit/score/src/threadqenqueue.c | |
parent | score: Dismantle _Thread_queue_Do_extract_locked() (diff) | |
download | rtems-424ffe4db039878eae13428d1ddeeb4a7c7f47fe.tar.bz2 |
score: Introduce thread queue surrender operation
This is an optimization for _Thread_queue_Surrender(). It helps to
encapsulate the priority boosting in the priority inheritance thread
queue operations.
Diffstat (limited to 'cpukit/score/src/threadqenqueue.c')
-rw-r--r-- | cpukit/score/src/threadqenqueue.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/cpukit/score/src/threadqenqueue.c b/cpukit/score/src/threadqenqueue.c index 2f6b041789..5a7fd6def5 100644 --- a/cpukit/score/src/threadqenqueue.c +++ b/cpukit/score/src/threadqenqueue.c @@ -596,7 +596,7 @@ void _Thread_queue_Surrender( Thread_Control *new_owner; bool unblock; - new_owner = ( *operations->first )( heads ); + new_owner = ( *operations->surrender )( queue, heads, previous_owner ); queue->owner = new_owner; #if defined(RTEMS_MULTIPROCESSING) @@ -604,10 +604,8 @@ void _Thread_queue_Surrender( #endif { ++new_owner->resource_count; - _Thread_queue_Boost_priority( queue, new_owner ); } - ( *operations->extract )( queue, new_owner ); unblock = _Thread_queue_Make_ready_again( new_owner ); _Thread_queue_Unblock_critical( |