mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
substitutes: Add #:keep-alive? keyword argument to download-nar.
To be consistent with other procedures that make network requests. * guix/substitutes.scm (download-nar): Add #:keep-alive? option. * guix/scripts/substitute.scm (process-substitution/fallback) (process-substitution): Call download-nar with #:keep-alive? #t. Change-Id: I83b27d0c3a0916d058fbbbeb7aa77dbb8a742768
This commit is contained in:
@@ -408,7 +408,8 @@ way to download the nar."
|
||||
#:fast-decompression?
|
||||
fast-decompression?
|
||||
#:open-connection-for-uri
|
||||
open-connection-for-uri/cached))
|
||||
open-connection-for-uri/cached
|
||||
#:keep-alive? #t))
|
||||
(loop rest)))
|
||||
(()
|
||||
(loop rest)))))))
|
||||
@@ -461,7 +462,8 @@ PORT."
|
||||
#:print-build-trace? print-build-trace?
|
||||
#:fast-decompression? fast-decompression?
|
||||
#:open-connection-for-uri
|
||||
open-connection-for-uri/cached))))
|
||||
open-connection-for-uri/cached
|
||||
#:keep-alive? #t))))
|
||||
(values narinfo
|
||||
expected-hash
|
||||
actual-hash)))
|
||||
|
||||
@@ -467,7 +467,8 @@ again. If DURATION is #f, run BODY with no timeout."
|
||||
#:key deduplicate? print-build-trace?
|
||||
(fetch-timeout %fetch-timeout)
|
||||
fast-decompression?
|
||||
(open-connection-for-uri guix:open-connection-for-uri))
|
||||
(open-connection-for-uri guix:open-connection-for-uri)
|
||||
(keep-alive? #f))
|
||||
"Download the nar prescribed in NARINFO, which is assumed to be authentic
|
||||
and authorized, and write it to DESTINATION. When DEDUPLICATE? is true, and
|
||||
if DESTINATION is in the store, deduplicate its files. Use
|
||||
@@ -513,7 +514,7 @@ OPEN-CONNECTION-FOR-URI to open connections."
|
||||
response
|
||||
(http-fetch uri #:text? #f
|
||||
#:port port
|
||||
#:keep-alive? #t
|
||||
#:keep-alive? keep-alive?
|
||||
#:buffered? #f)))
|
||||
(values port
|
||||
(response-content-length response)))))))
|
||||
@@ -596,6 +597,12 @@ OPEN-CONNECTION-FOR-URI to open connections."
|
||||
;; Wait for the reporter to finish.
|
||||
(every (compose zero? cdr waitpid) pids)
|
||||
|
||||
;; TODO The port should also be closed if the relevant HTTP response
|
||||
;; header is set, but http-fetch doesn't currently share that
|
||||
;; information
|
||||
(unless keep-alive?
|
||||
(close-port raw))
|
||||
|
||||
(values expected
|
||||
(get-hash)))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user