diff options
Diffstat (limited to 'guix/http-client.scm')
-rw-r--r-- | guix/http-client.scm | 17 |
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) |