summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-11 10:34:31 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-23 11:00:28 +0100
commite429e9742a2ca72820f8f3a8958ed138aa562bd9 (patch)
treebfb44686d6de38fbd5490cb0a37ed98f4fb0bd6e /testsuites/sptests
parentscore: Add _Thread_MP_Extract_proxy() (diff)
downloadrtems-e429e9742a2ca72820f8f3a8958ed138aa562bd9.tar.bz2
score: Simplify thread wait state handling
Remove the THREAD_WAIT_STATE_READY_AGAIN and simply use the initial value to indicate that a thread does not wait on something. Rename THREAD_WAIT_FLAGS_INITIAL to THREAD_WAIT_STATE_READY. This change is necessary so that _Thread_Continue() can be called for threads which never waited on something (for example dormant threads). Update #4546.
Diffstat (limited to 'testsuites/sptests')
-rw-r--r--testsuites/sptests/spintrcritical08/init.c13
-rw-r--r--testsuites/sptests/spintrcritical09/init.c2
-rw-r--r--testsuites/sptests/spintrcritical10/init.c9
-rw-r--r--testsuites/sptests/spintrcritical22/init.c2
4 files changed, 6 insertions, 20 deletions
diff --git a/testsuites/sptests/spintrcritical08/init.c b/testsuites/sptests/spintrcritical08/init.c
index 7b55a2e328..39855dfa29 100644
--- a/testsuites/sptests/spintrcritical08/init.c
+++ b/testsuites/sptests/spintrcritical08/init.c
@@ -78,7 +78,7 @@ static T_interrupt_test_state interrupt( void *arg )
T_quiet_eq_int( previous_period_state, RATE_MONOTONIC_ACTIVE );
T_quiet_eq_int( getState( ctx ), RATE_MONOTONIC_ACTIVE );
state = T_INTERRUPT_TEST_DONE;
- } else if ( flags == THREAD_WAIT_FLAGS_INITIAL ) {
+ } else if ( flags == THREAD_WAIT_STATE_READY ) {
T_quiet_true(
previous_period_state == RATE_MONOTONIC_ACTIVE
|| previous_period_state == RATE_MONOTONIC_EXPIRED
@@ -100,8 +100,6 @@ static void prepare( void *arg )
{
test_context *ctx;
rtems_status_code sc;
- ISR_Level level;
- bool success;
ctx = arg;
@@ -119,15 +117,6 @@ static void prepare( void *arg )
*/
sc = rtems_rate_monotonic_period( ctx->period, 1 );
} while ( sc != RTEMS_SUCCESSFUL );
-
- _ISR_Local_disable( level );
- success = _Thread_Wait_flags_try_change_release(
- ctx->thread,
- RATE_MONOTONIC_READY_AGAIN,
- THREAD_WAIT_FLAGS_INITIAL
- );
- _ISR_Local_enable( level );
- T_quiet_true( success );
}
static void action( void *arg )
diff --git a/testsuites/sptests/spintrcritical09/init.c b/testsuites/sptests/spintrcritical09/init.c
index 3d82febd6f..2dec20ef7e 100644
--- a/testsuites/sptests/spintrcritical09/init.c
+++ b/testsuites/sptests/spintrcritical09/init.c
@@ -32,7 +32,7 @@ static bool is_interrupt_timeout( test_context *ctx )
{
Thread_Wait_flags flags = _Thread_Wait_flags_get( ctx->thread );
- return flags == ( THREAD_WAIT_CLASS_OBJECT | THREAD_WAIT_STATE_READY_AGAIN );
+ return flags == THREAD_WAIT_STATE_READY;
}
static T_interrupt_test_state interrupt( void *arg )
diff --git a/testsuites/sptests/spintrcritical10/init.c b/testsuites/sptests/spintrcritical10/init.c
index 8210853588..36f50628fb 100644
--- a/testsuites/sptests/spintrcritical10/init.c
+++ b/testsuites/sptests/spintrcritical10/init.c
@@ -92,8 +92,7 @@ static T_interrupt_test_state any_satisfy_before_timeout_interrupt(void *arg)
if (state == T_INTERRUPT_TEST_DONE) {
rtems_test_assert(
- _Thread_Wait_flags_get(thread)
- == (THREAD_WAIT_CLASS_EVENT | THREAD_WAIT_STATE_READY_AGAIN)
+ _Thread_Wait_flags_get(thread) == THREAD_WAIT_STATE_READY
);
}
@@ -184,8 +183,7 @@ static T_interrupt_test_state all_satisfy_before_timeout_interrupt(void *arg)
if (state == T_INTERRUPT_TEST_DONE) {
rtems_test_assert(
- _Thread_Wait_flags_get(thread)
- == (THREAD_WAIT_CLASS_EVENT | THREAD_WAIT_STATE_READY_AGAIN)
+ _Thread_Wait_flags_get(thread) == THREAD_WAIT_STATE_READY
);
}
@@ -261,8 +259,7 @@ static T_interrupt_test_state timeout_before_satisfied_interrupt(void *arg)
if (state == T_INTERRUPT_TEST_DONE) {
rtems_test_assert(
- _Thread_Wait_flags_get(thread)
- == (THREAD_WAIT_CLASS_EVENT | THREAD_WAIT_STATE_READY_AGAIN)
+ _Thread_Wait_flags_get(thread) == THREAD_WAIT_STATE_READY
);
}
diff --git a/testsuites/sptests/spintrcritical22/init.c b/testsuites/sptests/spintrcritical22/init.c
index 192a5a98b3..f950307fdc 100644
--- a/testsuites/sptests/spintrcritical22/init.c
+++ b/testsuites/sptests/spintrcritical22/init.c
@@ -56,7 +56,7 @@ static T_interrupt_test_state release_semaphore(void *arg)
rtems_test_assert(
_Thread_Wait_flags_get(ctx->main_task_control)
- == (THREAD_WAIT_CLASS_OBJECT | THREAD_WAIT_STATE_READY_AGAIN)
+ == THREAD_WAIT_STATE_READY
);
sem = &ctx->semaphore_control->Core_control.Semaphore;
rtems_test_assert(sem->count == 0);