diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-01-15 10:05:54 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-01-15 18:40:43 +0100 |
commit | e2922f527ee8d891a41b5086637fa560a1c2ddd8 (patch) | |
tree | 94b8088674fffcbe909a603203c3bfa73e707b23 /guix/scripts | |
parent | 44ce3ebb46a4e63a892ef1aac2c7b5fa3dec28ce (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/scripts')
-rwxr-xr-x | guix/scripts/substitute.scm | 2 |
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 |