18 lines
544 B
Racket
18 lines
544 B
Racket
|
#lang racket/base
|
||
|
|
||
|
(define (load-in-background description module)
|
||
|
(printf "Starting ~s...\n" description)
|
||
|
(thread (lambda () (dynamic-require module #f))))
|
||
|
|
||
|
(define (wait-for-completion threads)
|
||
|
(when (pair? threads)
|
||
|
(apply sync (map (lambda (t)
|
||
|
(handle-evt (thread-dead-evt t)
|
||
|
(lambda (dummy)
|
||
|
(wait-for-completion (remove t threads)))))
|
||
|
threads))))
|
||
|
|
||
|
(wait-for-completion
|
||
|
(list (load-in-background "DNS server" "../racket-dns/driver.rkt")
|
||
|
(load-in-background "SSH server" "repl-server.rkt")))
|