From: Julien Desfossez Date: Fri, 10 Jan 2014 16:45:53 +0000 (-0500) Subject: Fix: metadata stream should be always flagged as ready X-Git-Tag: v2.5.0-rc1~262 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=b3bdb105e903c1800da1dbd45109397a07c43ed8;p=lttng-tools.git Fix: metadata stream should be always flagged as ready Signed-off-by: Julien Desfossez Signed-off-by: David Goulet --- diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c index 7e5733ec8..c32ea815d 100644 --- a/src/bin/lttng-relayd/main.c +++ b/src/bin/lttng-relayd/main.c @@ -1166,18 +1166,10 @@ void set_viewer_ready_flag(struct relay_command *cmd) * Stream is most probably being cleaned up by the data thread thus * simply continue to the next one. */ + rcu_read_unlock(); continue; } - /* - * If any of the streams in the list doesn't have a ctf_trace assigned, - * it means that we never received the metadata stream, so we have to - * wait until it arrives to make the streams available to the viewer. - */ - if (!stream->ctf_trace) { - goto end; - } - stream->viewer_ready = 1; rcu_read_unlock(); @@ -1186,7 +1178,6 @@ void set_viewer_ready_flag(struct relay_command *cmd) free(node); } -end: return; } @@ -1308,7 +1299,11 @@ int relay_add_stream(struct lttcomm_relayd_hdr *recv_hdr, * stream message is received, this list is emptied and streams are set * with the viewer ready flag. */ - queue_stream_handle(stream->stream_handle, cmd); + if (stream->metadata_flag) { + stream->viewer_ready = 1; + } else { + queue_stream_handle(stream->stream_handle, cmd); + } lttng_ht_node_init_ulong(&stream->stream_n, (unsigned long) stream->stream_handle);