summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-27 15:23:00 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-27 15:23:00 +0200
commit8797c76addf22a2f0ffc3717ff977695e35b9b0b (patch)
tree75489c28e223e9dcec1dde6ff335ddd595d71f61 /cpukit/rtems
parentscore: Simplify ISR lock name (diff)
downloadrtems-8797c76addf22a2f0ffc3717ff977695e35b9b0b.tar.bz2
score: Unify CORE mutex seize/surrender
Use the Thread_Control::resource_count for the no protocol mutexes. Merge the no protocol and priority inherit CORE mutex seize/surrender operations.
Diffstat (limited to 'cpukit/rtems')
-rw-r--r--cpukit/rtems/src/semobtain.c3
-rw-r--r--cpukit/rtems/src/semrelease.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c
index 9afef54917..b81612eaae 100644
--- a/cpukit/rtems/src/semobtain.c
+++ b/cpukit/rtems/src/semobtain.c
@@ -75,6 +75,7 @@ rtems_status_code rtems_semaphore_obtain(
case SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY:
status = _CORE_recursive_mutex_Seize(
&the_semaphore->Core_control.Mutex.Recursive,
+ CORE_MUTEX_TQ_PRIORITY_INHERIT_OPERATIONS,
executing,
wait,
_CORE_recursive_mutex_Seize_nested,
@@ -91,7 +92,7 @@ rtems_status_code rtems_semaphore_obtain(
);
break;
case SEMAPHORE_VARIANT_MUTEX_NO_PROTOCOL:
- status = _CORE_recursive_mutex_Seize_no_protocol(
+ status = _CORE_recursive_mutex_Seize(
&the_semaphore->Core_control.Mutex.Recursive,
_Semaphore_Get_operations( the_semaphore ),
executing,
diff --git a/cpukit/rtems/src/semrelease.c b/cpukit/rtems/src/semrelease.c
index 39c467da62..40860a1ea9 100644
--- a/cpukit/rtems/src/semrelease.c
+++ b/cpukit/rtems/src/semrelease.c
@@ -52,6 +52,7 @@ rtems_status_code rtems_semaphore_release( rtems_id id )
case SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY:
status = _CORE_recursive_mutex_Surrender(
&the_semaphore->Core_control.Mutex.Recursive,
+ CORE_MUTEX_TQ_PRIORITY_INHERIT_OPERATIONS,
executing,
&queue_context
);
@@ -64,13 +65,12 @@ rtems_status_code rtems_semaphore_release( rtems_id id )
);
break;
case SEMAPHORE_VARIANT_MUTEX_NO_PROTOCOL:
- _CORE_recursive_mutex_Surrender_no_protocol(
+ status = _CORE_recursive_mutex_Surrender(
&the_semaphore->Core_control.Mutex.Recursive,
_Semaphore_Get_operations( the_semaphore ),
executing,
&queue_context
);
- status = STATUS_SUCCESSFUL;
break;
case SEMAPHORE_VARIANT_SIMPLE_BINARY:
status = _CORE_semaphore_Surrender(