From 32b19aef596988d8458351e46a1f82e15663b5d0 Mon Sep 17 00:00:00 2001 From: kswang Date: Fri, 26 Mar 2021 10:58:57 +0800 Subject: [PATCH] fix executor last task not clear --- mindspore/ccsrc/backend/session/executor.cc | 7 ++++++- mindspore/ccsrc/backend/session/executor.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mindspore/ccsrc/backend/session/executor.cc b/mindspore/ccsrc/backend/session/executor.cc index 26df6185d5..0eef1f9fd4 100644 --- a/mindspore/ccsrc/backend/session/executor.cc +++ b/mindspore/ccsrc/backend/session/executor.cc @@ -217,12 +217,17 @@ void Executor::OnEvent(const ExecutorEvent &event) { if (event == ExecutorEvent::kRunGraphFinished) { OnRunGraphFinished(); } else if (event == ExecutorEvent::kClear) { - WorkerJoin(); + OnClear(); } else if (event == ExecutorEvent::kException) { OnException(); } } +void Executor::OnClear() { + WorkerJoin(); + ClearDoneTasks(); +} + void Executor::OnException() { std::vector> new_done_tasks; { diff --git a/mindspore/ccsrc/backend/session/executor.h b/mindspore/ccsrc/backend/session/executor.h index 4e323a99ef..249c52047c 100644 --- a/mindspore/ccsrc/backend/session/executor.h +++ b/mindspore/ccsrc/backend/session/executor.h @@ -176,6 +176,7 @@ class Executor { bool IsTaskReady(const std::shared_ptr &task); void WaitLockedInputs(const SessionPtr &session, const std::shared_ptr &task); void OnWorkerExit(); + void OnClear(); void OnRunGraphFinished(); void OnException(); void ClearDoneTasks();