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), );
"Welcome to our mercurial repository"