From fc94fa39d8b919d77befc402b238acc59947aa03 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 11 Jun 2023 21:19:58 +0100 Subject: [PATCH] terminate: fix off-by-inifinity bug --- src/syndicate/actors.nim | 6 +++--- syndicate.nimble | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/syndicate/actors.nim b/src/syndicate/actors.nim index a6b0902..170fc02 100644 --- a/src/syndicate/actors.nim +++ b/src/syndicate/actors.nim @@ -411,11 +411,11 @@ proc terminate(actor; turn; reason: ref Exception) = actor.exitReason = reason for hook in actor.exitHooks: hook(turn) proc finish(turn: var Turn) = - actor.root.terminate(turn, not reason.isNil) - if reason.isNil: + actor.root.terminate(turn, reason.isNil) + if actor.exitReason.isNil: actor.future.complete() else: - actor.future.fail reason + actor.future.fail actor.exitReason callSoon do (): run(actor.root, finish, true) diff --git a/syndicate.nimble b/syndicate.nimble index a1d1031..77a2d44 100644 --- a/syndicate.nimble +++ b/syndicate.nimble @@ -1,6 +1,6 @@ # Package -version = "20230610" +version = "20230611" author = "Emery Hemingway" description = "Syndicated actors for conversational concurrency" license = "Unlicense"