X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmain%2Fstate.c;h=0fa74a1c47ca25774bffca668d822a4235936575;hb=ebf4f7355aa8bd24a81554b49c22b7d9f44503b0;hp=e6b6a78a248bd3f4f2502968ac90a4e3df2b9ac9;hpb=dd025f915d9b3a3e587578e97b3738115193c180;p=lttv.git diff --git a/ltt/branches/poly/lttv/main/state.c b/ltt/branches/poly/lttv/main/state.c index e6b6a78a..0fa74a1c 100644 --- a/ltt/branches/poly/lttv/main/state.c +++ b/ltt/branches/poly/lttv/main/state.c @@ -130,8 +130,8 @@ init(LttvTracesetState *self, LttvTraceset *ts) tc = self->parent.traces[i]; tcs = (LttvTraceState *)tc; tcs->save_interval = 100000; - tcs->recompute_state_in_seek = false; - tcs->saved_state_ready = false; + tcs->recompute_state_in_seek = TRUE; + tcs->saved_state_ready = FALSE; fill_name_tables(tcs); nb_control = ltt_trace_control_tracefile_number(tc->t); @@ -585,7 +585,6 @@ static LttvProcessState *create_process(LttvTracefileState *tfs, return process; } - LttvProcessState *lttv_state_find_process(LttvTracefileState *tfs, guint pid) { @@ -596,6 +595,19 @@ LttvProcessState *lttv_state_find_process(LttvTracefileState *tfs, return process; } +LttvProcessState *lttv_state_find_process_from_trace(LttvTraceState *ts, + guint pid) +{ + LttvProcessState *process = g_hash_table_lookup(ts->processes, + GUINT_TO_POINTER(pid)); + //We do not create a process at this level, because we can be called + //from outside of state.c, and therefore cannot assume a tracefile + //exists. + //if(process == NULL) process = create_process_from_trace(ts, NULL, pid); + return process; +} + + static void exit_process(LttvTracefileState *tfs, LttvProcessState *process) { @@ -1033,18 +1045,13 @@ void lttv_state_traceset_seek_time_closest(LttvTracesetState *self, LttTime t) /* restore the closest earlier saved state */ if(min_pos != -1) lttv_state_restore(tcs, closest_tree); - /* there is no earlier saved state, restart at T0 */ - else { - restore_init_state(tcs); - lttv_process_trace_seek_time(&(tcs->parent), ltt_time_zero); - } - + } /* There is no saved state yet we want to have it. Restart at T0 */ else { restore_init_state(tcs); lttv_process_trace_seek_time(&(tcs->parent), ltt_time_zero); } - + } /* We want to seek quickly without restoring/updating the state */ else { restore_init_state(tcs);