diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-05 13:37:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-27 10:55:30 +0200 |
commit | 3a58dc863157bb21054a144c1a21b690544c0d23 (patch) | |
tree | 254e87635343490eca3a41d34a6da2609b29e6d7 /cpukit/score/include/rtems/score/threadq.h | |
parent | score: Simplify _Thread_queue_Boost_priority() (diff) | |
download | rtems-3a58dc863157bb21054a144c1a21b690544c0d23.tar.bz2 |
score: Priority inherit thread queue operations
Move the priority change due to priority interitance to the thread queue
enqueue operation to simplify the locking on SMP configurations.
Update #2412.
Update #2556.
Update #2765.
Diffstat (limited to 'cpukit/score/include/rtems/score/threadq.h')
-rw-r--r-- | cpukit/score/include/rtems/score/threadq.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h index b3b8fec980..75aab20993 100644 --- a/cpukit/score/include/rtems/score/threadq.h +++ b/cpukit/score/include/rtems/score/threadq.h @@ -43,6 +43,8 @@ extern "C" { typedef struct _Thread_Control Thread_Control; +typedef struct Thread_queue_Path Thread_queue_Path; + #if defined(RTEMS_MULTIPROCESSING) /** * @brief Multiprocessing (MP) support callout for thread queue operations. @@ -239,6 +241,10 @@ typedef void ( *Thread_queue_Priority_change_operation )( /** * @brief Thread queue enqueue operation. * + * A potential thread to update the priority due to priority inheritance is + * returned via the thread queue path. This thread is handed over to + * _Thread_Update_priority(). + * * @param[in] queue The actual thread queue. * @param[in] the_thread The thread to enqueue on the queue. * @@ -246,7 +252,8 @@ typedef void ( *Thread_queue_Priority_change_operation )( */ typedef void ( *Thread_queue_Enqueue_operation )( Thread_queue_Queue *queue, - Thread_Control *the_thread + Thread_Control *the_thread, + Thread_queue_Path *path ); /** |