Daemonize the main web-server thread, in case it crashes

This commit is contained in:
Tony Garnock-Jones 2015-01-21 16:38:38 -05:00
parent e6c9a7c7c0
commit c9576b8547

View File

@ -8,12 +8,16 @@
(require web-server/managers/lru) (require web-server/managers/lru)
(require reloadable) (require reloadable)
(require "signals.rkt") (require "signals.rkt")
(require "daemon.rkt")
(define (start-service* #:port [port 8443] (define (start-service* #:port [port 8443]
#:ssl? [ssl? #t] #:ssl? [ssl? #t]
request-handler-function request-handler-function
on-continuation-expiry) on-continuation-expiry)
(start-restart-signal-watcher) (start-restart-signal-watcher)
((daemonize-thunk
'main-web-server-thread
(lambda ()
(serve/servlet request-handler-function (serve/servlet request-handler-function
#:launch-browser? #f #:launch-browser? #f
#:quit? #f #:quit? #f
@ -28,7 +32,7 @@
#:ssl? ssl? #:ssl? ssl?
#:ssl-cert (and ssl? (build-path (current-directory) "../server-cert.pem")) #:ssl-cert (and ssl? (build-path (current-directory) "../server-cert.pem"))
#:ssl-key (and ssl? (build-path (current-directory) "../private-key.pem")) #:ssl-key (and ssl? (build-path (current-directory) "../private-key.pem"))
#:servlet-regexp #rx"")) #:servlet-regexp #rx"")))))
(define (start-service #:port [port 8443] (define (start-service #:port [port 8443]
#:ssl? [ssl? #t] #:ssl? [ssl? #t]