diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-03-12 14:16:30 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-03-16 14:47:25 +0100 |
commit | 0965b7c8b7956846167f43b813d68f8b5f2a60a1 (patch) | |
tree | 4c04e95b8512923fa6678413f7482e8be739fa89 /cpukit | |
parent | 5d752e7b48e47a260c33e33d7717c7421c1eb1f7 (diff) |
rtems: Require RTEMS_PRIORITY for MrsP semaphores
MrsP semaphores are a generalization of the priority ceiling semaphores
for SMP configurations. Priority ceiling semaphores are required to use
the priority task wait queue discipline. Require this discipline also
for MrsP semaphores.
Close #4347.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/include/rtems/rtems/sem.h | 3 | ||||
-rw-r--r-- | cpukit/rtems/src/semcreate.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/cpukit/include/rtems/rtems/sem.h b/cpukit/include/rtems/rtems/sem.h index 74d0ab45a3..1f0c952294 100644 --- a/cpukit/include/rtems/rtems/sem.h +++ b/cpukit/include/rtems/rtems/sem.h @@ -803,7 +803,8 @@ rtems_status_code rtems_semaphore_flush( rtems_id id ); * sc = rtems_semaphore_create( * rtems_build_name( 'M', 'R', 'S', 'P' ), * 1, - * RTEMS_BINARY_SEMAPHORE | RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, + * RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | + * RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, * 1, * &semaphore_id * ); diff --git a/cpukit/rtems/src/semcreate.c b/cpukit/rtems/src/semcreate.c index 3647bb7b13..0246c91bc9 100644 --- a/cpukit/rtems/src/semcreate.c +++ b/cpukit/rtems/src/semcreate.c @@ -93,8 +93,8 @@ rtems_status_code rtems_semaphore_create( ) { variant = SEMAPHORE_VARIANT_MUTEX_PRIORITY_CEILING; } else if ( - mutex_with_protocol - == ( RTEMS_BINARY_SEMAPHORE | RTEMS_MULTIPROCESSOR_RESOURCE_SHARING ) + mutex_with_protocol == ( RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | + RTEMS_MULTIPROCESSOR_RESOURCE_SHARING ) ) { #if defined(RTEMS_SMP) variant = SEMAPHORE_VARIANT_MRSP; |