summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/coremuteximpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-08-11 08:32:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-08-11 11:13:36 +0200
commitfef3ea9e87c01f7720a54d966f7c10fb85deea23 (patch)
tree5593c3ff97aa134c314d7df9cf8be743c60eb934 /cpukit/score/include/rtems/score/coremuteximpl.h
parentlibrtems++: Remove from RTEMS. (diff)
downloadrtems-fef3ea9e87c01f7720a54d966f7c10fb85deea23.tar.bz2
score: Add _Thread_queue_Surrender()
Add _Thread_queue_Surrender() to unify the mutex surrender procedures which involve a thread queue operation.
Diffstat (limited to 'cpukit/score/include/rtems/score/coremuteximpl.h')
-rw-r--r--cpukit/score/include/rtems/score/coremuteximpl.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/cpukit/score/include/rtems/score/coremuteximpl.h b/cpukit/score/include/rtems/score/coremuteximpl.h
index f48524a7b6..ce53b23bc7 100644
--- a/cpukit/score/include/rtems/score/coremuteximpl.h
+++ b/cpukit/score/include/rtems/score/coremuteximpl.h
@@ -114,14 +114,6 @@ Status_Control _CORE_mutex_Seize_no_protocol_slow(
Thread_queue_Context *queue_context
);
-Status_Control _CORE_mutex_Surrender_slow(
- CORE_mutex_Control *the_mutex,
- Thread_Control *executing,
- Thread_queue_Heads *heads,
- bool keep_priority,
- Thread_queue_Context *queue_context
-);
-
RTEMS_INLINE_ROUTINE void _CORE_mutex_Set_owner(
CORE_mutex_Control *the_mutex,
Thread_Control *owner
@@ -262,13 +254,15 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Surrender(
return STATUS_SUCCESSFUL;
}
- return _CORE_mutex_Surrender_slow(
- &the_mutex->Mutex,
- executing,
+ _Thread_queue_Surrender(
+ &the_mutex->Mutex.Wait_queue.Queue,
+ CORE_MUTEX_TQ_PRIORITY_INHERIT_OPERATIONS,
heads,
+ executing,
keep_priority,
queue_context
);
+ return STATUS_SUCCESSFUL;
}
RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Seize_no_protocol(