Fix: relayd: initialize lttcomm inet
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 7e5733ec8c3253432bd61dbac17b0968fefef21a..506bbc6fb87249fe933cab9be2dfadb7f0a11d1c 100644 (file)
@@ -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);
@@ -2886,6 +2881,7 @@ int main(int argc, char **argv)
 
        /* Initialize communication library */
        lttcomm_init();
+       lttcomm_inet_init();
 
        relay_ctx = zmalloc(sizeof(struct relay_local_data));
        if (!relay_ctx) {
This page took 0.023531 seconds and 4 git commands to generate.