Fix: assign a trace handle to every live trace
[babeltrace.git] / formats / lttng-live / lttng-live-comm.c
index 1266a95dd549340864c4438b7da272a641caee02..70a656e72ea941c0e4faf45544aca98bcfb7908c 100644 (file)
@@ -1187,6 +1187,8 @@ void add_traces(gpointer key, gpointer value, gpointer user_data)
        struct bt_mmap_stream *new_mmap_stream;
        struct bt_mmap_stream_list mmap_list;
        struct lttng_live_ctx *ctx = NULL;
+       struct bt_trace_descriptor *td;
+       struct bt_trace_handle *handle;
 
        /*
         * We don't know how many streams we will receive for a trace, so
@@ -1231,15 +1233,12 @@ void add_traces(gpointer key, gpointer value, gpointer user_data)
                fprintf(stderr, "[error] Error adding trace\n");
                goto end_free;
        }
-
+       handle = (struct bt_trace_handle *) g_hash_table_lookup(
+                       bt_ctx->trace_handles,
+                       (gpointer) (unsigned long) ret);
+       td = handle->td;
+       trace->handle = handle;
        if (bt_ctx->current_iterator) {
-               struct bt_trace_descriptor *td;
-               struct bt_trace_handle *handle;
-
-               handle = (struct bt_trace_handle *) g_hash_table_lookup(
-                               bt_ctx->trace_handles,
-                               (gpointer) (unsigned long) ret);
-               td = handle->td;
                bt_iter_add_trace(bt_ctx->current_iterator, td);
        }
 
This page took 0.023049 seconds and 4 git commands to generate.