Introduce extern clear_processes() function in order to free allocated for all_processes memory. We can call it from do_process instead of iterating through all_processes.
Signed-off-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com> --- diff --git a/process/process.cpp b/process/process.cpp index 549fc87..4172543 100644 --- a/process/process.cpp +++ b/process/process.cpp @@ -227,4 +227,11 @@ void all_processes_to_all_power(void) all_power.push_back(all_processes[i]); } - +void clear_processes(void) +{ + std::vector <class process *>::iterator it = all_processes.begin(); + while (it != all_processes.end()) { + delete *it; + it = all_processes.erase(it); + } +} diff --git a/process/process.h b/process/process.h index 4296f32..0ece99a 100644 --- a/process/process.h +++ b/process/process.h @@ -83,6 +83,7 @@ extern void merge_processes(void); extern class process * find_create_process(char *comm, int pid); extern void all_processes_to_all_power(void); +extern void clear_processes(void); extern void process_update_display(void); extern void html_process_update_display(void); extern void html_summary(void); _______________________________________________ Discuss mailing list Discuss@lesswatts.org http://lists.lesswatts.org/listinfo/discuss