The signal handler of the consumer might start executing before rtems_signal_send of the producer returns. Therefore change the state to SIG_1_SENT before sending the signal. --- testsuites/smptests/smpsignal01/init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testsuites/smptests/smpsignal01/init.c b/testsuites/smptests/smpsignal01/init.c index 36a66bea9b..025e84c6a2 100644 --- a/testsuites/smptests/smpsignal01/init.c +++ b/testsuites/smptests/smpsignal01/init.c @@ -81,10 +81,10 @@ static void signal_send(test_context *ctx, test_state new_state) { rtems_status_code sc; + change_state(ctx, new_state); sc = rtems_signal_send(ctx->consumer, TEST_SIGNAL); rtems_test_assert(sc == RTEMS_SUCCESSFUL); - change_state(ctx, new_state); } static void check_consumer_processor(const test_context *ctx) -- 2.12.3 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel