From 4ba9eee1c704d4d20e1baa91a4ecd2c1f4d9bf8f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 27 May 2024 15:16:48 +0200 Subject: [PATCH] Use `after-seconds` in supervise.rkt --- syndicate/supervise.rkt | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/syndicate/supervise.rkt b/syndicate/supervise.rkt index f92d0f3..a266f58 100644 --- a/syndicate/supervise.rkt +++ b/syndicate/supervise.rkt @@ -7,8 +7,6 @@ default-restart-strategy) -(require syndicate/driver-support) - (define-logger syndicate/supervise) (define-syntax-rule (supervise (main-proc-name arg ...)) @@ -27,10 +25,6 @@ (spawn/link #:name (list 'supervised main-proc-name) (main-proc)))) (define ((default-restart-strategy [timeout-seconds 5] [plus-or-minus 1]) restart) - (react - (linked-thread - (lambda (facet) - (define t (+ timeout-seconds (* plus-or-minus (- (random) 0.5) 2))) - (log-syndicate/supervise-debug "restarting in ~v seconds" t) - (sleep t) - (turn! facet (lambda () (on-stop (restart)))))))) + (define t (+ timeout-seconds (* plus-or-minus (- (random) 0.5) 2))) + (log-syndicate/supervise-debug "restarting in ~v seconds" t) + (after-seconds t (restart)))