From: Christopher Allan Webber Date: Tue, 24 Oct 2017 21:51:11 +0000 (-0500) Subject: actors: Fix handling errors on resuming. X-Git-Url: https://jxself.org/git/?p=8sync.git;a=commitdiff_plain;h=cd32bbe822f4e3acbb755993d3bd39358c176a26;ds=sidebyside actors: Fix handling errors on resuming. * 8sync/actors.scm (<-wait): Look at the correct action on the message when checking for error when resuming. --- diff --git a/8sync/actors.scm b/8sync/actors.scm index 8abe41a..b00329d 100644 --- a/8sync/actors.scm +++ b/8sync/actors.scm @@ -196,16 +196,13 @@ (big-random-number-string)) #f)) -;; TODO: this should abort to the prompt, then check for errors -;; when resuming. - (define (<-wait to action . args) (define prompt (*actor-prompt*)) (when (not prompt) (error "Tried to <-wait without being in an actor's context...")) (let ((reply (abort-to-prompt prompt '<-wait to action args))) - (cond ((eq? action '*error*) + (cond ((eq? (message-action reply) '*error*) (throw 'hive-unresumable-coroutine "Won't resume coroutine; got an *error* as a reply" #:message reply))