[rtems-central commit] spec: Fix ceiling enqueue validation
Sebastian Huber
sebh at rtems.org
Fri May 7 06:00:30 UTC 2021
Module: rtems-central
Branch: master
Commit: 129eb365e030f6587ff5a4efc0f7441ae227c094
Changeset: http://git.rtems.org/rtems-central/commit/?id=129eb365e030f6587ff5a4efc0f7441ae227c094
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Thu May 6 18:11:33 2021 +0200
spec: Fix ceiling enqueue validation
---
spec/rtems/sem/req/obtain.yml | 12 ++++++------
spec/score/tq/req/enqueue-ceiling.yml | 5 ++++-
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/spec/rtems/sem/req/obtain.yml b/spec/rtems/sem/req/obtain.yml
index b9cf485..9174851 100644
--- a/spec/rtems/sem/req/obtain.yml
+++ b/spec/rtems/sem/req/obtain.yml
@@ -104,12 +104,6 @@ post-conditions:
pre-conditions:
- name: Class
states:
- - name: MrsP
- test-code: |
- ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE |
- RTEMS_MULTIPROCESSOR_RESOURCE_SHARING;
- text: |
- While the semaphore object is a MrsP semaphore.
- name: Counting
test-code: |
ctx->attribute_set |= RTEMS_COUNTING_SEMAPHORE;
@@ -135,6 +129,12 @@ pre-conditions:
ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY;
text: |
While the semaphore object is a priority inheritance semaphore.
+ - name: MrsP
+ test-code: |
+ ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE |
+ RTEMS_MULTIPROCESSOR_RESOURCE_SHARING;
+ text: |
+ While the semaphore object is a MrsP semaphore.
test-epilogue: null
test-prologue: null
- name: Discipline
diff --git a/spec/score/tq/req/enqueue-ceiling.yml b/spec/score/tq/req/enqueue-ceiling.yml
index 6b13689..090f8e1 100644
--- a/spec/score/tq/req/enqueue-ceiling.yml
+++ b/spec/score/tq/req/enqueue-ceiling.yml
@@ -205,7 +205,10 @@ test-action: |
TQSchedulerRecordStop( ctx->tq_ctx );
TQSurrender( ctx->tq_ctx );
- if ( ctx->other_before || ctx->other_after ) {
+ if (
+ ctx->priority != PRIO_PSEUDO_ISR &&
+ ( ctx->other_before || ctx->other_after )
+ ) {
TQSend( ctx->tq_ctx, TQ_BLOCKER_B, TQ_EVENT_MUTEX_B_RELEASE );
TQSynchronizeRunner();
}
More information about the vc
mailing list