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"