X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fust-consumer%2Fust-consumer.c;fp=src%2Fcommon%2Fust-consumer%2Fust-consumer.c;h=31e0d4ba7a5a219436fbf234e515062cdac6adfb;hp=9d624966bf6ae76f942401c5c9b8b1205bdaef54;hb=3b1ddb0b6e3ca2273ef45fbd1b4ad24a0ed14685;hpb=060a32b279132ceeeef14b96a611077195a2ca46 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 */ }