s->parent.target_pid = pid;
process = lttv_state_find_process(ts, ANY_CPU, pid);
- es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
+ process->execution_stack =
+ g_array_set_size(process->execution_stack, 1);
+ es = process->state =
+ &g_array_index(process->execution_stack, LttvExecutionState, 0);
es->t = LTTV_STATE_SYSCALL;
process->type = LTTV_STATE_KERNEL_THREAD;
LttTime delta;
+ /* FIXME put there in case of a missing update after a state modification */
+ //update_event_tree(tfcs);
+
lttv_attribute_find(tfcs->current_events_tree, LTTV_STATS_ELAPSED_TIME,
LTTV_TIME, &elapsed_time);
*(elapsed_time.v_time) = ltt_time_add(*(elapsed_time.v_time), delta);
+ //g_assert(delta.tv_nsec != 14736);
+
lttv_attribute_find(tfcs->current_events_tree, LTTV_STATS_CPU_TIME,
LTTV_TIME, &cpu_time);
state_out = ltt_event_get_int(e, thf->f3);
/* compute the time for the process to schedule out */
-
mode_change(tfcs);
return FALSE;
for(i=0; i<nb_cpus; i++) {
lttv_stats_cleanup_process_state(ts, ts->running_process[i]);
}
- /* Does not work correctly FIXME. */
- //g_hash_table_foreach(ts->processes, lttv_stats_cleanup_process_state,
- // tcs);
}
void