diff --git a/syndicate/actor.rkt b/syndicate/actor.rkt index 1aa3ff3..9a8ab02 100644 --- a/syndicate/actor.rkt +++ b/syndicate/actor.rkt @@ -134,7 +134,9 @@ #:link? [link? #f]) (define owning-facet (turn-active-facet (current-turn))) (define e (make-engine 1 name (lambda (restart) - (when link? (turn! owning-facet (lambda () (turn-stop!)))) + (when link? + (turn! owning-facet + (lambda () (turn-stop! owning-facet)))) (actor-system-shutdown! e) (restart void)))) (when link? (facet-on-stop! owning-facet (lambda () (actor-system-shutdown! e)))) @@ -344,7 +346,7 @@ (with-active-facet new-facet (stop-if-inert-after boot-proc)) new-facet)) -(define (turn-stop! [f (turn-active-facet (current-turn))] [continuation #f]) +(define (turn-stop! f [continuation #f]) (when (not (eq? (facet-actor f) (facet-actor (turn-active-facet (current-turn))))) (error 'turn-stop! "Attempted to stop facet ~v from different actor ~v" f @@ -532,7 +534,7 @@ (log-syndicate/actor-debug " DEQ checking ~a" f) (when (or (and (facet-parent f) (not (facet-live? (facet-parent f)))) (facet-inert? f)) - (turn-stop!))))) + (turn-stop! f))))) (define (deliver maybe-proc . args) (when maybe-proc