Modify test to avoid race condition.

There is a possible race if a timer is set to trigger at nearly the same
time as it is set. Since nobody uses the timers like this, modify the test
so this doesn't happen. The race that this can provoke has been fixed in
aosp.

Bug: 19423618
Change-Id: I21084c99da5ae46f404936d673dae6bad7c82caa
This commit is contained in:
Christopher Ferris 2015-02-18 17:11:47 -08:00
parent 4177bd8d16
commit 3da136aa47

View file

@ -386,11 +386,11 @@ TEST(time, timer_delete_from_timer_thread) {
ASSERT_EQ(0, timer_create(CLOCK_REALTIME, &se, &tdd.timer_id)); ASSERT_EQ(0, timer_create(CLOCK_REALTIME, &se, &tdd.timer_id));
itimerspec ts; itimerspec ts;
ts.it_value.tv_sec = 0; ts.it_value.tv_sec = 1;
ts.it_value.tv_nsec = 100; ts.it_value.tv_nsec = 0;
ts.it_interval.tv_sec = 0; ts.it_interval.tv_sec = 0;
ts.it_interval.tv_nsec = 0; ts.it_interval.tv_nsec = 0;
ASSERT_EQ(0, timer_settime(tdd.timer_id, TIMER_ABSTIME, &ts, NULL)); ASSERT_EQ(0, timer_settime(tdd.timer_id, 0, &ts, NULL));
time_t cur_time = time(NULL); time_t cur_time = time(NULL);
while (!tdd.complete && (time(NULL) - cur_time) < 5); while (!tdd.complete && (time(NULL) - cur_time) < 5);