diff options
author | Sergey Senozhatsky <sergey.senozhatsky@gmail.com> | 2011-05-10 16:52:04 +0300 |
---|---|---|
committer | Arjan van de Ven <arjan@linux.intel.com> | 2011-05-11 00:04:39 -0400 |
commit | caeb59dc8de5378da2a9a8f10bd916e8976027a6 (patch) | |
tree | 07e3add426313c85070559b8c5f78184c1ed6879 | |
parent | 01e8ae121d075da591396a261d5e0b4d4bbca5fd (diff) | |
download | powertop-caeb59dc8de5378da2a9a8f10bd916e8976027a6.tar.gz |
process/process: Introduce clear_processes() function to free allocated memory
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.senozhatsky@gmail.com>
-rw-r--r-- | process/process.cpp | 9 | ||||
-rw-r--r-- | process/process.h | 1 |
2 files changed, 9 insertions, 1 deletions
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); |