summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/coremuteximpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-01 20:42:48 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-02 12:41:03 +0100
commit5b6c290ed0fae8f9afd343c891e6d3650ef22492 (patch)
treef01c2825980599091959ff403c98fb95ee5851d3 /cpukit/score/include/rtems/score/coremuteximpl.h
parentposix: Fix typo (diff)
downloadrtems-5b6c290ed0fae8f9afd343c891e6d3650ef22492.tar.bz2
score: Initialize thread queue context early
Initialize thread queue context early preferably outside the critical section. Remove implicit _Thread_queue_Context_initialize() from _Thread_Wait_acquire().
Diffstat (limited to 'cpukit/score/include/rtems/score/coremuteximpl.h')
-rw-r--r--cpukit/score/include/rtems/score/coremuteximpl.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/cpukit/score/include/rtems/score/coremuteximpl.h b/cpukit/score/include/rtems/score/coremuteximpl.h
index 638cf8801c..dead048880 100644
--- a/cpukit/score/include/rtems/score/coremuteximpl.h
+++ b/cpukit/score/include/rtems/score/coremuteximpl.h
@@ -253,7 +253,6 @@ RTEMS_INLINE_ROUTINE void _CORE_ceiling_mutex_Set_priority(
if ( owner != NULL ) {
_Thread_Wait_acquire( owner, queue_context );
- _Thread_queue_Context_clear_priority_updates( queue_context );
_Thread_Priority_change(
owner,
&the_mutex->Priority_ceiling,
@@ -284,7 +283,6 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Set_owner(
Scheduler_Node *scheduler_node;
Per_CPU_Control *cpu_self;
- _Thread_queue_Context_clear_priority_updates( queue_context );
_Thread_Wait_acquire_default_critical( owner, &lock_context );
scheduler_node = _Thread_Scheduler_get_home_node( owner );
@@ -341,6 +339,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Seize(
}
#endif
+ _Thread_queue_Context_clear_priority_updates( queue_context );
return _CORE_ceiling_mutex_Set_owner(
the_mutex,
executing,