summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/http-client.scm17
1 files changed, 8 insertions, 9 deletions
diff --git a/guix/http-client.scm b/guix/http-client.scm
index bb1b0eeb56..10bc278023 100644
--- a/guix/http-client.scm
+++ b/guix/http-client.scm
@@ -214,15 +214,14 @@ returning."
         ;; Inherit the HTTP proxying property from P.
         (set-http-proxy-port?! buffer (http-proxy-port? p))
 
-        (unless (false-if-networking-error
-                 (begin
-                   (for-each (cut write-request <> buffer) batch)
-                   (put-bytevector p (get))
-                   (force-output p)
-                   #t))
-          ;; If PORT becomes unusable, open a fresh connection and retry.
-          (close-port p)                          ; close the broken port
-          (connect #f requests result)))
+        ;; Swallow networking errors that could occur due to connection reuse
+        ;; and the like; they will be handled down the road when trying to
+        ;; read responses.
+        (false-if-networking-error
+         (begin
+           (for-each (cut write-request <> buffer) batch)
+           (put-bytevector p (get))
+           (force-output p))))
 
       ;; Now start processing responses.
       (let loop ((sent      batch)