LttvTracefileContext *tfc;
+ LttvTracefileContext **tfs;
LttvTracefileStats *tfcs;
LttTime timestamp = {0,0};
nb_tracefile = tc->tracefiles->len;
for(j = 0 ; j < nb_tracefile ; j++) {
- tfcs = LTTV_TRACEFILE_STATS(g_array_index(tc->tracefiles,
- LttvTracefileContext*, j));
+ tfs = &g_array_index(tc->tracefiles,
+ LttvTracefileContext*, j);
+ tfcs = LTTV_TRACEFILE_STATS(*tfs);
tfcs->stats = lttv_attribute_find_subdir(tracefiles_stats,
tfcs->parent.cpu_name);
find_event_tree(tfcs, LTTV_STATS_PROCESS_UNKNOWN,
{
LttvAttribute *a;
- LttvTraceStats *tcs = LTTV_TRACE_STATS(tfcs->parent.parent.t_context);
+ LttvTraceStats *tcs = (LttvTraceStats*)tfcs->parent.parent.t_context;
a = lttv_attribute_find_subdir(tcs->stats, LTTV_STATS_PROCESSES);
a = lttv_attribute_find_subdir(a, pid_time);
a = lttv_attribute_find_subdir(a, LTTV_STATS_CPU);
LttEvent *e = ltt_tracefile_get_event(tfcs->parent.parent.tf);
- LttvTraceHookByFacility *thf =
- lttv_trace_hook_get_fac((LttvTraceHook *)hook_data,
- ltt_event_facility_id(e));
+ LttvTraceHookByFacility *thf = (LttvTraceHookByFacility *)hook_data;
- guint pid_in, pid_out, state_out;
+ guint pid_in, pid_out;
+
+ gint state_out;
LttvProcessState *process;
pid_out = ltt_event_get_unsigned(e, thf->f1);
pid_in = ltt_event_get_unsigned(e, thf->f2);
- state_out = ltt_event_get_unsigned(e, thf->f3);
+ state_out = ltt_event_get_int(e, thf->f3);
/* compute the time for the process to schedule out */
ret = lttv_trace_find_hook(ts->parent.parent.t,
LTT_FACILITY_PROCESS, LTT_EVENT_FREE,
LTT_FIELD_PID, 0, 0,
- process_free, &g_array_index(hooks, LttvTraceHook, 7));
+ process_free, &g_array_index(hooks, LttvTraceHook, 8));
g_assert(!ret);
nb_tracefile = ts->parent.parent.tracefiles->len;
for(j = 0 ; j < nb_tracefile ; j++) {
- tfs = LTTV_TRACEFILE_STATS(&g_array_index(ts->parent.parent.tracefiles,
- LttvTracefileContext, j));
+ tfs = LTTV_TRACEFILE_STATS(g_array_index(ts->parent.parent.tracefiles,
+ LttvTracefileContext*, j));
lttv_hooks_add(tfs->parent.parent.event, every_event, NULL,
LTTV_PRIO_DEFAULT);
lttv_hooks_add(
lttv_hooks_by_id_find(tfs->parent.parent.event_by_id, thf->id),
thf->h,
- &g_array_index(before_hooks, LttvTraceHook, k),
+ thf,
LTTV_PRIO_STATS_BEFORE_STATE);
}
}
lttv_hooks_add(
lttv_hooks_by_id_find(tfs->parent.parent.event_by_id, thf->id),
thf->h,
- &g_array_index(after_hooks, LttvTraceHook, k),
+ thf,
LTTV_PRIO_STATS_AFTER_STATE);
}
}
lttv_hooks_remove_data(
lttv_hooks_by_id_find(tfs->parent.parent.event_by_id, thf->id),
thf->h,
- &g_array_index(before_hooks, LttvTraceHook, k));
+ thf);
}
}
for(k = 0 ; k < after_hooks->len ; k++) {
lttv_hooks_remove_data(
lttv_hooks_by_id_find(tfs->parent.parent.event_by_id, thf->id),
thf->h,
- &g_array_index(after_hooks, LttvTraceHook, k));
+ thf);
}
}
}