summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-03 10:52:53 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-03 10:55:31 +0100
commit6e31b56f95dfde7d6bc2d6d9f03541446f767c62 (patch)
treefef1da10c90a799be251fdcb946cb9205b3fe842
parenttmtests/tmfine01: Update screen file (diff)
downloadrtems-6e31b56f95dfde7d6bc2d6d9f03541446f767c62.tar.bz2
rtems: Fix binary semaphore resource count
Binary semaphores (not simple binary semaphores) maintain the resource count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for initially locked binary semaphores.
-rw-r--r--cpukit/rtems/src/semcreate.c5
-rw-r--r--testsuites/tmtests/tm02/task1.c4
2 files changed, 3 insertions, 6 deletions
diff --git a/cpukit/rtems/src/semcreate.c b/cpukit/rtems/src/semcreate.c
index c38e69f7ed..825e445b35 100644
--- a/cpukit/rtems/src/semcreate.c
+++ b/cpukit/rtems/src/semcreate.c
@@ -148,10 +148,7 @@ rtems_status_code rtems_semaphore_create(
&the_semaphore->Core_control.Mutex.Recursive.Mutex,
executing
);
-
- if ( variant == SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY ) {
- ++executing->resource_count;
- }
+ ++executing->resource_count;
}
status = STATUS_SUCCESSFUL;
diff --git a/testsuites/tmtests/tm02/task1.c b/testsuites/tmtests/tm02/task1.c
index 4d9b6d176e..b3761502be 100644
--- a/testsuites/tmtests/tm02/task1.c
+++ b/testsuites/tmtests/tm02/task1.c
@@ -70,8 +70,8 @@ rtems_task Init(
test_init();
- status = rtems_task_delete( RTEMS_SELF );
- directive_failed( status, "rtems_task_delete" );
+ status = rtems_task_suspend( RTEMS_SELF );
+ directive_failed( status, "rtems_task_suspend" );
}
void test_init(void)