summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-01-15 10:05:54 +0100
committerLudovic Courtès <ludo@gnu.org>2020-01-15 18:40:43 +0100
commite2922f527ee8d891a41b5086637fa560a1c2ddd8 (patch)
tree94b8088674fffcbe909a603203c3bfa73e707b23 /guix
parent44ce3ebb46a4e63a892ef1aac2c7b5fa3dec28ce (diff)
substitute: 'http-multiple-get' processes each request only once.
Fixes <https://bugs.gnu.org/39090>. Reported by Gábor Boskovits <boskovits@gmail.com>. Fixes a regression introduced in 9e3f9ac3c00906f5bc647ea8398e4ed5a370614e. * guix/scripts/substitute.scm (http-multiple-get): In the "Connection: close" case, pass (drop requests (+ 1 processed)) to 'loop' as the remaining REQUESTS value. Previously, we would pass a list containing duplicates, and thus the final result would also contain duplicates. When sent to the daemon, that list would lead to a daemon error: got unexpected path `/gnu/store/…' from substituter
Diffstat (limited to 'guix')
-rwxr-xr-xguix/scripts/substitute.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 3bf9b8735f..dfb975a24a 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -557,7 +557,7 @@ initial connection on which HTTP requests are sent."
(('connection 'close)
(close-port p)
(connect #f ;try again
- (append tail (drop requests processed))
+ (drop requests (+ 1 processed))
result))
(_
(loop tail (+ 1 processed) result)))))))))) ;keep going