From 42423b0a691fb4b2efbb5a45eb7eefa5f350ec30 Mon Sep 17 00:00:00 2001 From: Julien Desfossez Date: Wed, 19 Feb 2014 18:23:53 -0500 Subject: [PATCH] Fix: assign a trace handle to every live trace Signed-off-by: Julien Desfossez Signed-off-by: Mathieu Desnoyers --- formats/lttng-live/lttng-live-comm.c | 15 +++++++-------- formats/lttng-live/lttng-live.h | 1 + 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/formats/lttng-live/lttng-live-comm.c b/formats/lttng-live/lttng-live-comm.c index 1266a95d..70a656e7 100644 --- a/formats/lttng-live/lttng-live-comm.c +++ b/formats/lttng-live/lttng-live-comm.c @@ -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); } diff --git a/formats/lttng-live/lttng-live.h b/formats/lttng-live/lttng-live.h index 137a296d..071f2881 100644 --- a/formats/lttng-live/lttng-live.h +++ b/formats/lttng-live/lttng-live.h @@ -67,6 +67,7 @@ struct lttng_live_ctf_trace { struct lttng_live_viewer_stream *metadata_stream; GPtrArray *streams; FILE *metadata_fp; + struct bt_trace_handle *handle; int trace_id; int in_use; }; -- 2.34.1