The order in which step checks for 1 and 2 are not rigidly defined and may actually occur in either order depending on how the threads execute. This waits for the job to complete to enforce the existing ordering. --- testsuites/smptests/smpmulticast01/init.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/testsuites/smptests/smpmulticast01/init.c b/testsuites/smptests/smpmulticast01/init.c index 4163dd8370..ec4bab922d 100644 --- a/testsuites/smptests/smpmulticast01/init.c +++ b/testsuites/smptests/smpmulticast01/init.c @@ -506,6 +506,7 @@ T_TEST_CASE(AddJobInJob) _Per_CPU_Add_job(cpu_self, &add_job_in_job_jobs[0]); T_step(0); _SMP_Send_message(cpu_self, SMP_MESSAGE_PERFORM_JOBS); + _Per_CPU_Wait_for_job(cpu_self, &add_job_in_job_jobs[0]); T_step(2); _SMP_Send_message(cpu_self, SMP_MESSAGE_PERFORM_JOBS); _Thread_Dispatch_enable(cpu_self); -- 2.30.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel