[ltt-dev] [UST PATCH] Fix the once in a while freeze of the tests

Yannick Brosseau yannick.brosseau at gmail.com
Fri Feb 18 16:36:53 EST 2011


Sometimes, the thread in the read function would lock the pipe so the
setlinebuf would freeze on it. Set the linebuf before we create the
thread to fix this deadlock

Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
---
 tests/tap.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/tests/tap.c b/tests/tap.c
index a54fd17..4bb695e 100644
--- a/tests/tap.c
+++ b/tests/tap.c
@@ -58,6 +58,9 @@ static void tap_comment_stdout(void)
 		goto close_pipe;
 	}
 
+	/* Set it before we create the reading thread */
+	setlinebuf(pipe_r_file);
+
 	stdout_fileno = fileno(stdout);
 	if (stdout_fileno < 0) {
 		perror("# Couldn't get fileno for stdout!?");
@@ -112,7 +115,7 @@ static void tap_comment_stdout(void)
 
 	setlinebuf(stdout);
 	setlinebuf(stderr);
-	setlinebuf(pipe_r_file);
+
 
 	return;
 
-- 
1.7.2.3





More information about the lttng-dev mailing list