*dead-actor*, *dead-facet*, *dead-engine*
This commit is contained in:
parent
557a0fb499
commit
3751c07de6
|
@ -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])
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue