From c111d5d7cd66a6a74c48ad0466609843bd6fe3c7 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 24 Feb 2014 12:24:54 -0500 Subject: [PATCH] Fix: lttng-live await metadata Expect at least _some_ metadata in get_new_metadata. Retry until we receive some metadata. Signed-off-by: Mathieu Desnoyers --- formats/lttng-live/lttng-live-comm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/formats/lttng-live/lttng-live-comm.c b/formats/lttng-live/lttng-live-comm.c index 785f5f37..8e701b21 100644 --- a/formats/lttng-live/lttng-live-comm.c +++ b/formats/lttng-live/lttng-live-comm.c @@ -869,7 +869,7 @@ int get_new_metadata(struct lttng_live_ctx *ctx, { int ret = 0; struct lttng_live_viewer_stream *metadata_stream; - size_t size; + size_t size, len_read = 0;; metadata_stream = viewer_stream->ctf_trace->metadata_stream; if (!metadata_stream) { @@ -890,7 +890,10 @@ int get_new_metadata(struct lttng_live_ctx *ctx, * negative value on error. */ ret = get_one_metadata_packet(ctx, metadata_stream); - } while (ret > 0); + if (ret > 0) { + len_read += ret; + } + } while (ret > 0 || !len_read); if (fclose(metadata_stream->metadata_fp_write)) perror("fclose"); -- 2.34.1