From e45551ac5b4d6b0da5a5688fa8f9945044dc1049 Mon Sep 17 00:00:00 2001 From: compudj Date: Mon, 22 Aug 2005 18:24:52 +0000 Subject: [PATCH] fix unexisting trace error path git-svn-id: http://ltt.polymtl.ca/svn@1046 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/ltt/trace.h | 1 + ltt/branches/poly/ltt/tracefile.c | 10 ++++++---- ltt/branches/poly/lttv/lttv/batchtest.c | 7 +++++-- ltt/branches/poly/lttv/lttv/tracecontext.c | 15 ++++++++------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/ltt/branches/poly/ltt/trace.h b/ltt/branches/poly/ltt/trace.h index 970e2918..bb586320 100644 --- a/ltt/branches/poly/ltt/trace.h +++ b/ltt/branches/poly/ltt/trace.h @@ -150,6 +150,7 @@ void ltt_tracefile_copy(LttTracefile *dest, const LttTracefile *src); void get_absolute_pathname(const gchar *pathname, gchar * abs_pathname); +/* May return a NULL tracefile group */ GData **ltt_trace_get_tracefiles_groups(LttTrace *trace); typedef void (*ForEachTraceFileFunc)(LttTracefile *tf, gpointer func_args); diff --git a/ltt/branches/poly/ltt/tracefile.c b/ltt/branches/poly/ltt/tracefile.c index d7b72d62..0d03c07d 100644 --- a/ltt/branches/poly/ltt/tracefile.c +++ b/ltt/branches/poly/ltt/tracefile.c @@ -986,8 +986,10 @@ LttTrace *ltt_trace_open(const gchar *pathname) /* Open all the tracefiles */ g_datalist_init(&t->tracefiles); - if(open_tracefiles(t, abs_path, "")) + if(open_tracefiles(t, abs_path, "")) { + g_warning("Error opening tracefile %s", abs_path); goto open_error; + } /* Prepare the facilities containers : array and mapping */ /* Array is zeroed : the "exists" field is set to false by default */ @@ -1327,7 +1329,7 @@ int ltt_tracefile_seek_time(LttTracefile *tf, LttTime time) else if(ret) goto fail; if(ltt_time_compare(time, tf->event.event_time) >= 0) - break; + goto found; } } else if(ltt_time_compare(time, tf->buffer.begin.timestamp) < 0) { @@ -1624,14 +1626,14 @@ static gint map_block(LttTracefile * tf, guint block_num) tf->buffer.begin.timestamp = ltt_get_time(LTT_GET_BO(tf), &header->begin.timestamp); tf->buffer.begin.timestamp.tv_nsec *= NSEC_PER_USEC; - g_warning("block %u begin : %lu.%lu", block_num, + g_debug("block %u begin : %lu.%lu", block_num, tf->buffer.begin.timestamp.tv_sec, tf->buffer.begin.timestamp.tv_nsec); tf->buffer.begin.cycle_count = ltt_get_uint64(LTT_GET_BO(tf), &header->begin.cycle_count); tf->buffer.end.timestamp = ltt_get_time(LTT_GET_BO(tf), &header->end.timestamp); tf->buffer.end.timestamp.tv_nsec *= NSEC_PER_USEC; - g_warning("block %u end : %lu.%lu", block_num, + g_debug("block %u end : %lu.%lu", block_num, tf->buffer.end.timestamp.tv_sec, tf->buffer.end.timestamp.tv_nsec); tf->buffer.end.cycle_count = ltt_get_uint64(LTT_GET_BO(tf), &header->end.cycle_count); diff --git a/ltt/branches/poly/lttv/lttv/batchtest.c b/ltt/branches/poly/lttv/lttv/batchtest.c index 7dc1771c..1db159c5 100644 --- a/ltt/branches/poly/lttv/lttv/batchtest.c +++ b/ltt/branches/poly/lttv/lttv/batchtest.c @@ -99,8 +99,11 @@ static void lttv_trace_option(void __UNUSED__ *hook_data) LttTrace *trace; trace = ltt_trace_open(a_trace); - if(trace == NULL) g_critical("cannot open trace %s", a_trace); - lttv_traceset_add(traceset, lttv_trace_new(trace)); + if(trace == NULL) { + g_critical("cannot open trace %s", a_trace); + } else { + lttv_traceset_add(traceset, lttv_trace_new(trace)); + } } static double get_time() diff --git a/ltt/branches/poly/lttv/lttv/tracecontext.c b/ltt/branches/poly/lttv/lttv/tracecontext.c index 76d018b9..4dd8e3a1 100644 --- a/ltt/branches/poly/lttv/lttv/tracecontext.c +++ b/ltt/branches/poly/lttv/lttv/tracecontext.c @@ -165,7 +165,7 @@ static void init_tracefile_context(LttTracefile *tracefile, static void init(LttvTracesetContext *self, LttvTraceset *ts) { - guint i, j, nb_trace, nb_control, nb_per_cpu, nb_tracefile; + guint i, j, nb_trace; LttvTraceContext *tc; @@ -192,13 +192,14 @@ init(LttvTracesetContext *self, LttvTraceset *ts) sizeof(LttvTracefileContext*), 10); tracefiles_groups = ltt_trace_get_tracefiles_groups(tc->t); + if(tracefiles_groups != NULL) { + args.func = (ForEachTraceFileFunc)init_tracefile_context; + args.func_args = tc; - args.func = (ForEachTraceFileFunc)init_tracefile_context; - args.func_args = tc; - - g_datalist_foreach(tracefiles_groups, - (GDataForeachFunc)compute_tracefile_group, - &args); + g_datalist_foreach(tracefiles_groups, + (GDataForeachFunc)compute_tracefile_group, + &args); + } #if 0 nb_control = ltt_trace_control_tracefile_number(tc->t); -- 2.34.1