X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fmain.c;h=c32ea815d694f70593a44c5fea59d48067fc313a;hp=7e5733ec8c3253432bd61dbac17b0968fefef21a;hb=b3bdb105e903c1800da1dbd45109397a07c43ed8;hpb=efe12cccde8949059bf0e91cb0e63a3dd2c21949 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);