From 9d0999c1d61f4f8c6a1b0be87a6ecc721c0ee27a Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 3 Sep 2015 17:17:28 -0400 Subject: [PATCH] Fix: relayd: make viewer streams consider metadata sent MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The metadata stream does not use prev seq, and is therefore not sent to viewers if we depend on prev seq. Use the metadata_received field instead to achieve the same purpose: if a viewer try to attach to a session that has not received metadata yet, it will get and error (metadata stream cannot be found when attaching). Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- src/bin/lttng-relayd/live.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c index aa0586814..6f69b1058 100644 --- a/src/bin/lttng-relayd/live.c +++ b/src/bin/lttng-relayd/live.c @@ -316,8 +316,14 @@ int make_viewer_streams(struct relay_session *session, /* * Stream has no data, don't consider it yet. */ - if (stream->prev_seq == -1ULL) { - goto next; + if (stream->is_metadata) { + if (!stream->metadata_received) { + goto next; + } + } else { + if (stream->prev_seq == -1ULL) { + goto next; + } } vstream = viewer_stream_get_by_id(stream->stream_handle); if (!vstream) { -- 2.34.1