diff options
| author | Alex Bennée | 2019-01-11 14:50:02 +0100 |
|---|---|---|
| committer | Alex Bennée | 2019-01-14 15:52:30 +0100 |
| commit | eb4f8e100f1ffce3be797ac56dcad031ffef3b8f (patch) | |
| tree | 37f67443b0160e101cf814b728f7bb8a08f052b0 /tests/atomic64-bench.c | |
| parent | tests/docker: remove SID_AGE test hack (diff) | |
| download | qemu-eb4f8e100f1ffce3be797ac56dcad031ffef3b8f.tar.gz qemu-eb4f8e100f1ffce3be797ac56dcad031ffef3b8f.tar.xz qemu-eb4f8e100f1ffce3be797ac56dcad031ffef3b8f.zip | |
tests: use g_usleep instead of rem = sleep(time)
Relying on sleep to always return having slept isn't safe as a signal
may have occurred. If signals are constantly incoming the program will
never reach its termination condition. This is believed to be the
mechanism causing time outs for qht-test in Travis.
The glib g_usleep() deals with all of this for us so lets use it instead.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/atomic64-bench.c')
| -rw-r--r-- | tests/atomic64-bench.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/tests/atomic64-bench.c b/tests/atomic64-bench.c index 71692560ed..121a8c14f4 100644 --- a/tests/atomic64-bench.c +++ b/tests/atomic64-bench.c @@ -74,16 +74,14 @@ static void *thread_func(void *arg) static void run_test(void) { - unsigned int remaining; unsigned int i; while (atomic_read(&n_ready_threads) != n_threads) { cpu_relax(); } + atomic_set(&test_start, true); - do { - remaining = sleep(duration); - } while (remaining); + g_usleep(duration * G_USEC_PER_SEC); atomic_set(&test_stop, true); for (i = 0; i < n_threads; i++) { |
