[lttng-dev] [PATCH lttng-tools] Tests: Fix sleep interruption in health stall test

Christian Babeux christian.babeux at efficios.com
Mon Dec 10 14:46:15 EST 2012


The sleep(3) call can return the number of seconds left to sleep
if interrupted. Handle the intteruption in the health stall test.

Signed-off-by: Christian Babeux <christian.babeux at efficios.com>
---
 tests/tools/health/health_stall.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/tests/tools/health/health_stall.c b/tests/tools/health/health_stall.c
index f91bd49..38fe5f8 100644
--- a/tests/tools/health/health_stall.c
+++ b/tests/tools/health/health_stall.c
@@ -43,7 +43,10 @@ void __testpoint_thread_manage_clients_before_loop(void)
 	const char *var = "LTTNG_THREAD_MANAGE_CLIENTS_STALL";
 
 	if (check_env_var(var)) {
-		sleep(STALL_TIME);
+		unsigned int sleep_time = STALL_TIME;
+		while (sleep_time > 0) {
+			sleep_time = sleep(sleep_time);
+		}
 	}
 }
 
@@ -52,7 +55,10 @@ void __testpoint_thread_manage_kernel_before_loop(void)
 	const char *var = "LTTNG_THREAD_MANAGE_KERNEL_STALL";
 
 	if (check_env_var(var)) {
-		sleep(STALL_TIME);
+		unsigned int sleep_time = STALL_TIME;
+		while (sleep_time > 0) {
+			sleep_time = sleep(sleep_time);
+		}
 	}
 }
 
@@ -61,6 +67,9 @@ void __testpoint_thread_manage_apps_before_loop(void)
 	const char *var = "LTTNG_THREAD_MANAGE_APPS_STALL";
 
 	if (check_env_var(var)) {
-		sleep(STALL_TIME);
+		unsigned int sleep_time = STALL_TIME;
+		while (sleep_time > 0) {
+			sleep_time = sleep(sleep_time);
+		}
 	}
 }
-- 
1.8.0.1




More information about the lttng-dev mailing list