summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-06-04 08:49:39 +0200
committerMathieu Othacehe <othacehe@gnu.org>2021-06-06 18:54:29 +0200
commita068ed6a5f5b3535fce49ac4eca1fec82edd6fdc (patch)
treed960a88da348a009eb5560eaba3dbae2dedfef0e
parent82b0e27de109b38ed44f67434a96460c4a7f9217 (diff)
downloadguix-a068ed6a5f5b3535fce49ac4eca1fec82edd6fdc.tar.gz
scripts: substitute: Cache connection when looking for narinfos.
The process-substitution procedure is opening two distinct connections. The
first one when looking for narinfo by calling lookup-narinfo and the other one
when fetching nar files.

Cache the connection when looking for narinfos so that process-substitution
only opens one connection.

* guix/scripts/substitute.scm (lookup-narinfo): Cache connection by using
open-connection-for-uri/cached.
-rwxr-xr-xguix/scripts/substitute.scm4
1 files changed, 3 insertions, 1 deletions
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 54311c3e08..44448ff3e9 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -163,7 +163,9 @@ if file doesn't exist, and the narinfo otherwise."
 (define (lookup-narinfo caches path authorized?)
   "Return the narinfo for PATH in CACHES, or #f when no substitute for PATH
 was found."
-  (match (lookup-narinfos/diverse caches (list path) authorized?)
+  (match (lookup-narinfos/diverse
+          caches (list path) authorized?
+          #:open-connection open-connection-for-uri/cached)
     ((answer) answer)
     (_        #f)))