diff options
Diffstat (limited to 'scripts/guix-build-coordinator.in')
-rw-r--r-- | scripts/guix-build-coordinator.in | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/scripts/guix-build-coordinator.in b/scripts/guix-build-coordinator.in index 71111c0..8aed241 100644 --- a/scripts/guix-build-coordinator.in +++ b/scripts/guix-build-coordinator.in @@ -217,41 +217,6 @@ (alist-delete 'arguments result))) defaults)) -;; Patch the fibers web server to allow running multiple servers - -(let ((fibers-web-server-module - (resolve-module '(fibers web server)))) - - (define set-nonblocking! - (module-ref fibers-web-server-module 'set-nonblocking!)) - - (define make-default-socket - (module-ref fibers-web-server-module 'make-default-socket)) - - (define socket-loop - (module-ref fibers-web-server-module 'socket-loop)) - - (define* (run-server/patched handler #:key - (host #f) - (family AF_INET) - (addr (if host - (inet-pton family host) - INADDR_LOOPBACK)) - (port 8080) - (socket (make-default-socket family addr port))) - ;; We use a large backlog by default. If the server is suddenly hit - ;; with a number of connections on a small backlog, clients won't - ;; receive confirmation for their SYN, leading them to retry -- - ;; probably successfully, but with a large latency. - (listen socket 1024) - (set-nonblocking! socket) - (sigaction SIGPIPE SIG_IGN) - (spawn-fiber (lambda () (socket-loop socket handler)))) - - (module-set! fibers-web-server-module - 'run-server - run-server/patched)) - (setvbuf (current-output-port) 'line) (setvbuf (current-error-port) 'line) @@ -513,4 +478,4 @@ processed?: ~A substitutes-channel)) (wait finished?)))) - finished?)))))))))) + finished?))))))) |