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

Reply via email to