From: Christian Babeux Date: Mon, 3 Dec 2012 03:07:52 +0000 (-0500) Subject: Cygwin: Fixup of wait pipe hangup commit X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=3b1ddb0b6e3ca2273ef45fbd1b4ad24a0ed14685 Cygwin: Fixup of wait pipe hangup commit The condition in lttng_ustconsumer_check_pipe was wrong. Signed-off-by: Christian Babeux --- diff --git a/src/common/ust-consumer/ust-consumer.c b/src/common/ust-consumer/ust-consumer.c index 9d624966b..31e0d4ba7 100644 --- a/src/common/ust-consumer/ust-consumer.c +++ b/src/common/ust-consumer/ust-consumer.c @@ -424,17 +424,19 @@ int lttng_ustconsumer_check_pipe(struct lttng_consumer_stream *stream, stream->wait_fd, stream->key); /* We consume the 1 byte written into the wait_fd by UST */ - if (!stream->hangup_flush_done) { - do { - readlen = read(stream->wait_fd, &dummy, 1); - } while (readlen == -1 && errno == EINTR); - if (readlen == -1) { - return -1; /* error */ - } - DBG("Read %zu byte from pipe: %c\n", readlen, dummy); - if (readlen == 0) - return 1; /* POLLHUP */ + + do { + readlen = read(stream->wait_fd, &dummy, 1); + } while (readlen == -1 && errno == EINTR); + if (readlen == -1) { + return -1; /* error */ } + + DBG("Read %zu byte from pipe: %c\n", readlen, readlen ? dummy : '\0'); + + if (readlen == 0) + return 1; /* POLLHUP */ + return 0; /* no error nor HUP */ }