From 1f59976c2c53cc58f2b2872ea165e3b2bc026dae Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Mon, 31 Dec 2018 00:24:32 -0600 Subject: [PATCH] Further clean up job list manipulation --- src/proc.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/proc.cpp b/src/proc.cpp index b556d1cc5..1530cdb9c 100644 --- a/src/proc.cpp +++ b/src/proc.cpp @@ -107,10 +107,10 @@ void job_t::promote() { } void proc_destroy() { - for (auto job = jobs().begin(); job != jobs().end(); ++job) { - debug(2, L"freeing leaked job %ls", (*job)->command_wcstr()); - job = jobs().erase(job); + for (const auto job : jobs()) { + debug(2, L"freeing leaked job %ls", job->command_wcstr()); } + jobs().clear(); } void proc_set_last_statuses(statuses_t s) { @@ -485,12 +485,11 @@ static bool process_clean_after_marking(bool allow_interactive) { } for (const process_ptr_t &p : j->processes) { - if (!p->completed) continue; - - if (!p->pid) continue; + if (!p->completed || !p->pid) { + continue; + } auto s = p->status; - // TODO: The generic process-exit event is useless and unused. // Remove this in future. // Update: This event is used for cleaning up the psub temporary files and folders.