X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=8sync%2Fsystems%2Factors.scm;h=f9b9047ac4a83fc1d06e82bb798422c0f7750dae;hp=ce55597bf912aa001282e65cbac055c872a7b991;hb=148aae4afbbbfa1a0845746294acb1385deda9b6;hpb=674056fde0ebfc4454485a8776ecb9efd9c3af8f diff --git a/8sync/systems/actors.scm b/8sync/systems/actors.scm index ce55597..f9b9047 100644 --- a/8sync/systems/actors.scm +++ b/8sync/systems/actors.scm @@ -464,7 +464,14 @@ more compact following syntax: (define (resume-waiting-coroutine) (match (hash-remove! (hive-waiting-coroutines hive) (message-in-reply-to message)) - ((_ . kont) + ((_ . (resume-actor-id . kont)) + (if (not (equal? (message-to message) + resume-actor-id)) + (throw 'resuming-to-wrong-actor + "Attempted to resume a coroutine to the wrong actor!" + #:expected-actor-id (message-to message) + #:got-actor-id resume-actor-id + #:message message)) (kont message)) (#f (throw 'no-waiting-coroutine "message in-reply-to tries to resume nonexistent coroutine"