From mboxrd@z Thu Jan 1 00:00:00 1970 From: yannick.brosseau@gmail.com (Yannick Brosseau) Date: Fri, 18 Feb 2011 16:36:53 -0500 Subject: [ltt-dev] [UST PATCH] Fix the once in a while freeze of the tests Message-ID: <1298065013-9872-1-git-send-email-yannick.brosseau@gmail.com> 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 --- 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