diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-05-06 18:11:33 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-05-06 19:11:47 +0200 |
commit | 129eb365e030f6587ff5a4efc0f7441ae227c094 (patch) | |
tree | 87c3176271ae793104b19000f5fd92b22b55e68b | |
parent | validation: Fix N/A pre-condition handling (diff) | |
download | rtems-central-129eb365e030f6587ff5a4efc0f7441ae227c094.tar.bz2 |
spec: Fix ceiling enqueue validation
-rw-r--r-- | spec/rtems/sem/req/obtain.yml | 12 | ||||
-rw-r--r-- | 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 b9cf4858..9174851e 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 6b136894..090f8e1b 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(); } |