Use introduced clear_* methods instead of iterating through corresponding containers in process_process_data() and end_process_data(). Remove 3 iterations to null processes' wake_ups, accumulated_runtime and child_runtime from end_process_data(), because the very next step to do is to delete all of them.
Signed-off-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com> --- diff --git a/process/do_process.cpp b/process/do_process.cpp index 32d80dc..6a0dda3 100644 --- a/process/do_process.cpp +++ b/process/do_process.cpp @@ -871,18 +871,10 @@ void process_process_data(void) if (!perf_events) return; + clear_processes(); + clear_interrupts(); - /* clean out old data */ - for (i = 0; i < all_processes.size() ; i++) - delete all_processes[i]; - - all_processes.erase(all_processes.begin(), all_processes.end());; - - for (i = 0; i < all_interrupts.size() ; i++) - delete all_interrupts[i]; - - all_interrupts.resize(0); - all_power.resize(0); + all_power.erase(all_power.begin(), all_power.end()); clear_consumers(); @@ -942,31 +934,12 @@ void end_process_data(void) report_utilization("disk-operations", total_disk_hits()); report_utilization("disk-operations-hard", total_hard_disk_hits()); - /* clean out old data */ - for (i = 0; i < all_processes.size() ; i++) - all_processes[i]->wake_ups = 0; - for (i = 0; i < all_processes.size() ; i++) - all_processes[i]->accumulated_runtime = 0; - for (i = 0; i < all_processes.size() ; i++) - all_processes[i]->child_runtime = 0; - - for (i = 0; i < all_processes.size() ; i++) - delete all_processes[i]; - - for (i = 0; i < all_proc_devices.size() ; i++) - delete all_proc_devices[i]; - - all_processes.erase(all_processes.begin(), all_processes.end());; - - for (i = 0; i < all_interrupts.size() ; i++) - delete all_interrupts[i]; - - all_interrupts.resize(0); - all_power.resize(0); - all_proc_devices.resize(0); + all_power.erase(all_power.begin(), all_power.end()); + clear_processes(); + clear_proc_devices(); + clear_interrupts(); clear_timers(); - delete_all_work(); - + clear_work(); clear_consumers(); perf_events->clear(); _______________________________________________ Discuss mailing list Discuss@lesswatts.org http://lists.lesswatts.org/listinfo/discuss