[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#48468: substitute server connection timeout
From: |
Mathieu Othacehe |
Subject: |
bug#48468: substitute server connection timeout |
Date: |
Tue, 18 May 2021 16:35:17 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hey,
> I'll have a closer look, thanks for your help.
So this snippet in the http-write procedure of the (guix scripts
publish) module:
--8<---------------cut here---------------start------------->8---
(swallow-zlib-error
(close-port port))
--8<---------------cut here---------------end--------------->8---
is closing the client port unconditionally, which means that guix
publish cannot keep connections alive, unless sitting behind an Nginx
proxy.
I'm trying to turn the close-port call into a maybe-close-port with the
following procedure:
--8<---------------cut here---------------start------------->8---
(define (maybe-close-port port)
(cond
((keep-alive? response)
(poll-set-add! (http-poll-set server) port *events*))
(else
(close-port port))))
--8<---------------cut here---------------end--------------->8---
however this is terribly hacky, as I need to access the private poll-set
from (web server http).
Ludo, do you have a better idea?
Thanks,
Mathieu