Fix: relayd: add LPOLLERR to events
[lttng-tools.git] / src / bin / lttng-relayd / live.c
index 6864ff4eca19c717c79098b906d54d66ec6562c5..8f73cd27c3eb908b30258ce1fe9c78b340b97e84 100644 (file)
@@ -155,7 +155,7 @@ int create_thread_poll_set(struct lttng_poll_event *events, int size)
        }
 
        /* Add quit pipe */
-       ret = lttng_poll_add(events, live_thread_quit_pipe[0], LPOLLIN);
+       ret = lttng_poll_add(events, live_thread_quit_pipe[0], LPOLLIN | LPOLLERR);
        if (ret < 0) {
                goto error;
        }
@@ -259,6 +259,8 @@ void *thread_listener(void *data)
                goto error_poll_add;
        }
 
+       lttng_relay_notify_ready();
+
        while (1) {
                health_code_update();
 
@@ -1120,7 +1122,8 @@ void destroy_viewer_stream(struct relay_viewer_stream *vstream)
         * we need to remove it because we won't detect a EOF for this
         * stream.
         */
-       if (ret_ref == 1 && vstream->ctf_trace->metadata_stream) {
+       if (ret_ref == 1 && vstream->ctf_trace->viewer_metadata_stream) {
+               delete_viewer_stream(vstream->ctf_trace->viewer_metadata_stream);
                destroy_viewer_stream(vstream->ctf_trace->viewer_metadata_stream);
                vstream->ctf_trace->metadata_stream = NULL;
                DBG("Freeing ctf_trace %" PRIu64, vstream->ctf_trace->id);
This page took 0.023346 seconds and 4 git commands to generate.