aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/utils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/utils.scm')
-rw-r--r--guix-build-coordinator/utils.scm21
1 files changed, 13 insertions, 8 deletions
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm
index 6139835..a9d7edf 100644
--- a/guix-build-coordinator/utils.scm
+++ b/guix-build-coordinator/utils.scm
@@ -268,7 +268,7 @@
streaming?)
(with-port-timeouts
(lambda ()
- (let* ((port (open-socket-for-uri uri))
+ (let* ((port (open-socket-for-uri* uri))
(request
(build-request
uri
@@ -1436,13 +1436,18 @@ again."
#:fragment (uri-fragment uri))
uri))
- (let ((s (open-socket-for-uri plain-uri)))
- (values
- (if https?
- (tls-wrap s (uri-host uri)
- #:verify-certificate? verify-certificate?)
- s)
- s)))
+ (let* ((s (open-socket-for-uri plain-uri))
+ (port
+ (if https?
+ (tls-wrap s (uri-host uri)
+ #:verify-certificate? verify-certificate?)
+ s)))
+ (values port
+ (if non-blocking?
+ ;; Guile/guile-gnutls don't handle the handshake happening on
+ ;; a non blocking socket, so change the behavior here.
+ (non-blocking-port s)
+ s))))
(define (check-locale!)
(with-exception-handler