mirror of
https://github.com/systemd/systemd.git
synced 2026-07-13 19:10:58 +00:00
barrier: fix race in test-code
The barrier_wait_next_twice* test-cases run:
Parent: Child:
set_alarm(10) sleep_for(1);
... set_alarm(1);
sleep_for(2) ...
Therefore, the parent exits after 2+ periods, the client's alarm fires
after 2+ periods. This race turns out to be lost by the child on other
machines, so avoid it by increasing the parent's sleep-interval to 4. This
way, the client has 2 periods to run the barrier test, which is far more
than enough.
This commit is contained in:
@@ -176,7 +176,7 @@ TEST_BARRIER(test_barrier_wait_next_twice,
|
||||
set_alarm(BASE_TIME * 10);
|
||||
assert_se(barrier_place(&b));
|
||||
assert_se(barrier_place(&b));
|
||||
sleep_for(BASE_TIME * 2);
|
||||
sleep_for(BASE_TIME * 4);
|
||||
}),
|
||||
TEST_BARRIER_WAIT_SUCCESS(pid2));
|
||||
|
||||
@@ -201,7 +201,7 @@ TEST_BARRIER(test_barrier_wait_next_twice_local,
|
||||
set_alarm(BASE_TIME * 10);
|
||||
assert_se(barrier_place(&b));
|
||||
assert_se(barrier_place(&b));
|
||||
sleep_for(BASE_TIME * 2);
|
||||
sleep_for(BASE_TIME * 4);
|
||||
}),
|
||||
TEST_BARRIER_WAIT_SUCCESS(pid2));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user