- guint num_cpu =
- ltt_trace_get_num_cpu(tss->parent.traces[TRACE_NUMBER]->t);
-
- cfd->process_list->current_hash_data = g_new(HashedProcessData*,num_cpu);
- memset(cfd->process_list->current_hash_data, 0,
- sizeof(HashedProcessData*)*num_cpu);
+ guint i;
+ LttvTraceset *traceset = tsc->ts;
+ guint nb_trace = lttv_traceset_number(traceset);
+
+ if(!cfd->process_list->current_hash_data) {
+ cfd->process_list->current_hash_data = g_new(HashedProcessData**,nb_trace);
+ for(i = 0 ; i < nb_trace ; i++) {
+ guint num_cpu = ltt_trace_get_num_cpu(tss->parent.traces[i]->t);
+ cfd->process_list->current_hash_data[i] = g_new(HashedProcessData*,num_cpu);
+ memset(cfd->process_list->current_hash_data[i], 0,
+ sizeof(HashedProcessData*)*num_cpu);
+ }
+ }