X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fstate.c;h=7e9ce546eb2f636165af2c5805e76054debaf1ec;hb=a7598d50739159e9f33f60d3b23980db447f6d5d;hp=792e3cbe2a7ac9bff2eb4eb000a80f0fb92d12d6;hpb=7a4bdb546094fea3343bfc80e3744ea26a08dd22;p=lttv.git diff --git a/lttv/lttv/state.c b/lttv/lttv/state.c index 792e3cbe..7e9ce546 100644 --- a/lttv/lttv/state.c +++ b/lttv/lttv/state.c @@ -393,7 +393,7 @@ static void restore_init_state(LttvTraceState *self) //LttvTracefileState *tfcs; - //LttTime start_time, end_time; + LttTime start_time; /* Free the process tables */ if(self->processes != NULL) lttv_state_free_process_table(self->processes); @@ -407,8 +407,10 @@ static void restore_init_state(LttvTraceState *self) //g_tree_destroy(self->parent.ts_context->pqueue); //self->parent.ts_context->pqueue = g_tree_new(compare_tracefile); - //TODO use babeltrace one. - //ltt_trace_time_span_get(self->parent.t, &start_time, &end_time); + start_time = ltt_time_from_uint64( + bt_trace_handle_get_timestamp_begin(self->trace->traceset->context, + self->trace->id)); + //lttv_process_trace_seek_time(&self->parent, ltt_time_zero); @@ -421,8 +423,7 @@ static void restore_init_state(LttvTraceState *self) for(i=0; i< nb_cpus; i++) { LttvExecutionState *es; self->running_process[i] = lttv_state_create_process(self, NULL, i, 0, 0, - //TODO use &start_time... - LTTV_STATE_UNNAMED, <t_time_zero); + LTTV_STATE_UNNAMED, &start_time); /* We are not sure is it's a kernel thread or normal thread, put the * bottom stack state to unknown */ self->running_process[i]->execution_stack = @@ -1459,7 +1460,7 @@ void lttv_state_save(LttvTraceState *self, LttvAttribute *container) /* Save the current position */ value = lttv_attribute_add(container, LTTV_STATE_POSITION, LTTV_POINTER); - *(value.v_pointer) = lttv_traceset_create_position(lttv_trace_get_traceset(self->trace)); + *(value.v_pointer) = lttv_traceset_create_current_position(lttv_trace_get_traceset(self->trace)); #ifdef BABEL_CLEANUP nb_tracefile = self->parent.tracefiles->len; @@ -3433,11 +3434,16 @@ void lttv_state_add_event_hooks(LttvTraceset *traceset) LttvAttributeValue value; LttvHooks*event_hook; +#ifdef BABEL_CLEANUP LttvIAttribute *attributes = LTTV_IATTRIBUTE(lttv_global_attributes()); result = lttv_iattribute_find_by_path(attributes, "hooks/event", LTTV_POINTER, &value); g_assert(result); event_hook = *(value.v_pointer); +#endif + //TODO ybrosseau 2012-07-12: Validate that using traceset hooks instead of the global one is valid + //Use traceset hooks + event_hook = lttv_traceset_get_hooks(traceset); g_assert(event_hook); lttv_hooks_add(event_hook,syscall_entry , NULL, LTTV_PRIO_STATE);