@@ -828,6 +828,8 @@ static void display_cpus(struct traceeval *teval)
if (last_cpu < 0)
die("No result for CPUs\n");
+
+ traceeval_iterator_put(iter);
}
static void print_stats(int idx, struct traceeval_stat *stat)
@@ -920,6 +922,8 @@ static void display_threads(struct traceeval *teval)
display_state_times(state, stat);
}
+ traceeval_iterator_put(iter);
+
if (last_tid < 0)
die("No result for threads\n");
}
@@ -982,12 +986,13 @@ static void display_processes(struct traceeval *teval)
if (pdata)
display_process(pdata);
}
+ traceeval_iterator_put(iter);
}
static void display(struct task_data *tdata)
{
struct traceeval *teval = tdata->teval_cpus;
- struct traceeval_iterator *iter = traceeval_iterator_get(teval);
+ struct traceeval_iterator *iter;
const struct traceeval_data *keys;
struct traceeval_stat *stat;
unsigned long long total_time = 0;
@@ -997,6 +1002,8 @@ static void display(struct task_data *tdata)
return display_processes(tdata->teval_tasks);
}
+ iter = traceeval_iterator_get(teval);
+
printf("Total:\n");
if (!iter)
@@ -1021,6 +1028,8 @@ static void display(struct task_data *tdata)
}
}
+ traceeval_iterator_put(iter);
+
printf(" Total run time (us):");
print_microseconds_nl(16, total_time);
printf(" Total idle time (us):");