Expect at least _some_ metadata in get_new_metadata. Retry until we
receive some metadata.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
{
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) {
* 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");