From 3751c07de6e5d8dff9dd5aef9c6797f3d84c4883 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 8 Jun 2021 09:24:25 +0200 Subject: [PATCH] *dead-actor*, *dead-facet*, *dead-engine* --- syndicate/actor.rkt | 24 ++++++++++++++++++++++++ syndicate/engine.rkt | 9 ++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/syndicate/actor.rkt b/syndicate/actor.rkt index 6e43675..96577f4 100644 --- a/syndicate/actor.rkt +++ b/syndicate/actor.rkt @@ -21,6 +21,7 @@ actor-add-exit-hook! actor-remove-exit-hook! actor-daemon! + *dead-actor* facet? facet-id @@ -30,6 +31,7 @@ facet-inert? facet-on-stop! facet-prevent-inert-check! + *dead-facet* turn? turn-id @@ -128,6 +130,28 @@ (define-logger syndicate/actor) +(define *dead-actor* + (actor (generate-actor-id) + '*dead-actor* + *dead-engine* + #t + (make-dataflow-graph) + 'uninitialized + #t + '())) + +(define *dead-facet* + (facet (generate-actor-id) + *dead-actor* + #f + (make-hasheq) + (make-hash) + '() + #f + 0)) + +(set-actor-root! *dead-actor* *dead-facet*) + ;;-------------------------------------------------------------------------- (define (actor-system boot-proc #:name [name 'actor-system]) diff --git a/syndicate/engine.rkt b/syndicate/engine.rkt index f1c0e59..e12633f 100644 --- a/syndicate/engine.rkt +++ b/syndicate/engine.rkt @@ -7,7 +7,8 @@ engine-inhabitant-count make-engine adjust-inhabitant-count! - queue-task!) + queue-task! + *dead-engine*) (require racket/match) (require (only-in racket/exn exn->string)) @@ -26,7 +27,7 @@ (define e (engine (generate-engine-id) (thread (lambda () (thread-receive) ;; delay boot until we're ready - (log-syndicate/task-info "~a starting" e) + (log-syndicate/task-debug "~a starting" e) (with-handlers ([exn? (handle-unexpected-task-runner-termination e)]) (let loop () (log-syndicate/task-debug @@ -42,7 +43,7 @@ [thunk (thunk) (loop)]))) - (log-syndicate/task-info "~a stopping" e)))) + (log-syndicate/task-debug "~a stopping" e)))) initial-inhabitant-count)) (thread-send (engine-thread e) 'boot) e) @@ -57,3 +58,5 @@ (define (queue-task! e thunk) (thread-send (engine-thread e) thunk)) + +(define *dead-engine* (make-engine 0))