From: Mathieu Desnoyers Date: Mon, 24 Feb 2014 17:24:54 +0000 (-0500) Subject: Fix: lttng-live await metadata X-Git-Tag: v1.2.0-rc2~14 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=c111d5d7cd66a6a74c48ad0466609843bd6fe3c7 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 --- 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");