Mercurial > hg > freeDiameter
changeset 856:c0f92000c42a
Avoid using sem_timedwait that is not available on OS X
author | Sebastien Decugis <sdecugis@freediameter.net> |
---|---|
date | Sun, 21 Oct 2012 19:10:14 +0200 |
parents | 2eb6882b20c6 |
children | cea8e81967eb |
files | extensions/test_app/ta_bench.c |
diffstat | 1 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/extensions/test_app/ta_bench.c Sun Oct 21 18:46:17 2012 +0200 +++ b/extensions/test_app/ta_bench.c Sun Oct 21 19:10:14 2012 +0200 @@ -225,21 +225,22 @@ /* Now loop until timeout is reached */ do { /* Do not create more that NB_CONCURRENT_MESSAGES in paralel */ - int ret = sem_timedwait(&ta_sem, &end_time); + int ret = sem_wait(&ta_sem); if (ret == -1) { ret = errno; - if (ret != ETIMEDOUT) { - CHECK_POSIX_DO(ret, ); /* Just to log it */ - } + CHECK_POSIX_DO(ret, ); /* Just to log it */ break; } + /* Update the current time */ + CHECK_SYS_DO( clock_gettime(CLOCK_REALTIME, &now), ); + + if (!TS_IS_INFERIOR(&now, &end_time)) + break; + /* Create and send a new test message */ ta_bench_test_message(); - - /* Update the current time */ - CHECK_SYS_DO( clock_gettime(CLOCK_REALTIME, &now), ); - } while (TS_IS_INFERIOR(&now, &end_time)); + } while (1); /* Save the stats now */ CHECK_POSIX_DO( pthread_mutex_lock(&ta_conf->stats_lock), );