From: Julien Desfossez Date: Thu, 20 Feb 2014 05:50:25 +0000 (-0500) Subject: Fix: assign a trace handle to every live trace X-Git-Tag: v1.2.0-rc2~23 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=150595c4f9f664a183289c0f7147eeb663ff40bb Fix: assign a trace handle to every live trace Signed-off-by: Julien Desfossez Signed-off-by: Mathieu Desnoyers --- diff --git a/formats/lttng-live/lttng-live-comm.c b/formats/lttng-live/lttng-live-comm.c index 1cba2c61..0cf38e6e 100644 --- a/formats/lttng-live/lttng-live-comm.c +++ b/formats/lttng-live/lttng-live-comm.c @@ -1179,6 +1179,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 @@ -1223,15 +1225,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; };