From 036c644712c36b2d67e818e6f60aa753ebd6acaf Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 17 Feb 2020 22:40:57 -0800 Subject: [PATCH] AsynchronousTask: Call _start_hook after _start_async The start listeners need to run after _start_async has completed in case they rely on any state that _start_async has created (same goes for _start). Fixes: d66e9ec0b105 ("AsynchronousTask: add coroutine async_start method") Signed-off-by: Zac Medico --- lib/_emerge/AsynchronousTask.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/_emerge/AsynchronousTask.py b/lib/_emerge/AsynchronousTask.py index 280ed16dae..d1e23cdf16 100644 --- a/lib/_emerge/AsynchronousTask.py +++ b/lib/_emerge/AsynchronousTask.py @@ -25,8 +25,8 @@ class AsynchronousTask(SlotObject): @coroutine def async_start(self): - self._start_hook() yield self._async_start() + self._start_hook() @coroutine def _async_start(self): @@ -38,8 +38,8 @@ def start(self): """ Start an asynchronous task and then return as soon as possible. """ - self._start_hook() self._start() + self._start_hook() def _start(self): self.returncode = os.EX_OK