X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Ftrace-collection.c;h=035d2dc2d78a77a596e1b0fce2d6e8ccc86f6c3c;hp=fc06dcd961c36aa3af3d723dae8fd85d20dfbfda;hb=bb35f032b52330cfb17c144bfed81f2b1569f308;hpb=2552c374b9c87056187ff9af572f9fba7ee7839d diff --git a/lib/trace-collection.c b/lib/trace-collection.c index fc06dcd9..035d2dc2 100644 --- a/lib/trace-collection.c +++ b/lib/trace-collection.c @@ -72,19 +72,6 @@ static void check_clock_match(gpointer key, gpointer value, gpointer user_data) } } -/* - * Note: if using a frequency different from 1GHz for clock->offset, it - * is recommended to express the seconds in offset_s, otherwise there - * will be a loss of precision caused by the limited size of the double - * mantissa. - */ -static -uint64_t clock_offset_ns(struct ctf_clock *clock) -{ - return clock->offset_s * 1000000000ULL - + clock_cycles_to_ns(clock, clock->offset); -} - static void clock_add(gpointer key, gpointer value, gpointer user_data) { struct clock_match *clock_match = user_data; @@ -156,16 +143,13 @@ static void clock_add(gpointer key, gpointer value, gpointer user_data) * convert the index from cycles to real time. */ int bt_trace_collection_add(struct trace_collection *tc, - struct trace_descriptor *td) + struct bt_trace_descriptor *trace) { - struct ctf_trace *trace; - - if (!tc || !td) + if (!tc || !trace) return -EINVAL; - trace = container_of(td, struct ctf_trace, parent); - g_ptr_array_add(tc->array, td); - trace->collection = tc; + if (!trace->clocks) + return 0; if (tc->array->len > 1) { struct clock_match clock_match = { @@ -187,6 +171,9 @@ int bt_trace_collection_add(struct trace_collection *tc, } } + g_ptr_array_add(tc->array, trace); + trace->collection = tc; + { struct clock_match clock_match = { .clocks = tc->clocks, @@ -209,7 +196,7 @@ error: } int bt_trace_collection_remove(struct trace_collection *tc, - struct trace_descriptor *td) + struct bt_trace_descriptor *td) { if (!tc || !td) return -EINVAL;