X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fstate.c;h=6ee5e32e1dc9d04a7cdbfbb0ad521e53789dd8ff;hb=667ca2a017e4df437ea5fc5d2bc1be2e0fcd9f7e;hp=89b86b9c46b0d064046166337adf5b128327f3f7;hpb=2c82c4dc9a5a322013842e0bf23008d164f369b6;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/state.c b/ltt/branches/poly/lttv/lttv/state.c index 89b86b9c..6ee5e32e 100644 --- a/ltt/branches/poly/lttv/lttv/state.c +++ b/ltt/branches/poly/lttv/lttv/state.c @@ -488,6 +488,9 @@ static void state_restore(LttvTraceState *self, LttvAttribute *container) nb_tracefile = self->parent.tracefiles->len; + g_tree_destroy(tsc->pqueue); + tsc->pqueue = g_tree_new(compare_tracefile); + for(i = 0 ; i < nb_tracefile ; i++) { tfcs = LTTV_TRACEFILE_STATE(g_array_index(self->parent.tracefiles, @@ -505,18 +508,16 @@ static void state_restore(LttvTraceState *self, LttvAttribute *container) type = lttv_attribute_get_by_name(tracefile_tree, LTTV_STATE_EVENT, &value); g_assert(type == LTTV_POINTER); - g_assert(*(value.v_pointer) != NULL); + //g_assert(*(value.v_pointer) != NULL); ep = *(value.v_pointer); g_assert(tfcs->parent.t_context != NULL); - g_tree_destroy(tsc->pqueue); - tsc->pqueue = g_tree_new(compare_tracefile); - LttvTracefileContext *tfc = LTTV_TRACEFILE_CONTEXT(tfcs); if(ep != NULL) { g_assert(ltt_tracefile_seek_position(tfc->tf, ep) == 0); tfc->timestamp = ltt_event_time(ltt_tracefile_get_event(tfc->tf)); + g_assert(ltt_time_compare(tfc->timestamp, ltt_time_infinite) != 0); g_tree_insert(tsc->pqueue, tfc, tfc); } else { tfc->timestamp = ltt_time_infinite; @@ -1379,7 +1380,7 @@ static gboolean state_save_event_hook(void *hook_data, void *call_data) if(likely((*event_count)++ < LTTV_STATE_SAVE_INTERVAL)) return FALSE; else - event_count = 0; + *event_count = 0; LttvTracefileState *self = (LttvTracefileState *)call_data; @@ -1548,10 +1549,9 @@ void lttv_state_save_add_event_hooks(LttvTracesetState *self) ts = (LttvTraceState *)self->parent.traces[i]; nb_tracefile = ts->parent.tracefiles->len; - guint *event_count = g_new(guint, 1); - *event_count = 0; - for(j = 0 ; j < nb_tracefile ; j++) { + guint *event_count = g_new(guint, 1); + *event_count = 0; tfs = LTTV_TRACEFILE_STATE(g_array_index(ts->parent.tracefiles, LttvTracefileContext*, j));