From 3b19e1530615ff41252d3fc8527c258607e4e96a Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Wed, 23 Jan 2019 20:01:29 -0500 Subject: [PATCH] Don't allow cancelling a cancel_task() task --- tractor/_actor.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tractor/_actor.py b/tractor/_actor.py index 3d0a4f5..ceee16b 100644 --- a/tractor/_actor.py +++ b/tractor/_actor.py @@ -265,7 +265,7 @@ class Actor: log.warning( f"already have channel(s) for {uid}:{chans}?" ) - log.trace(f"Registered {chan} for {uid}") + log.trace(f"Registered {chan} for {uid}") # type: ignore # append new channel self._peers[uid].append(chan) @@ -650,8 +650,10 @@ class Actor: f"Cancelling task:\ncid: {cid}\nfunc: {func}\n" f"peer: {chan.uid}\n") - # if func is self.cancel_task: - # return + # don't allow cancelling this function mid-execution + # (is this necessary?) + if func is self.cancel_task: + return scope.cancel() # wait for _invoke to mark the task complete