summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-25 00:20:12 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-25 01:06:09 +0200
commitc9278dc9c181500890b29a57b629760f6728d92a (patch)
treec7b683b1b822b1d44cf25c994b2ec55a84ba40e5
parentd3f02752b59e9b4832e16b220b1b78812ffbbc33 (diff)
downloadguix-c9278dc9c181500890b29a57b629760f6728d92a.tar.gz
offload: Adjust default 'max-silent-time' value of 'open-ssh-session'.
* guix/scripts/offload.scm (open-ssh-session): Have 'max-silent-time'
default to #f rather than -1, which is not a valid timeout value.
Adjust body accordingly.
-rw-r--r--guix/scripts/offload.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index a5dcffd51d..6366556647 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -197,8 +197,10 @@ can interpret meaningfully."
 private key from '~a': ~a")
                                 file str)))))
 
-(define* (open-ssh-session machine #:optional (max-silent-time -1))
-  "Open an SSH session for MACHINE and return it.  Throw an error on failure."
+(define* (open-ssh-session machine #:optional max-silent-time)
+  "Open an SSH session for MACHINE and return it.  Throw an error on failure.
+When MAX-SILENT-TIME is true, it must be a positive integer denoting the
+number of seconds after which the connection times out."
   (let ((private (private-key-from-file* (build-machine-private-key machine)))
         (public  (public-key-from-file
                   (string-append (build-machine-private-key machine)
@@ -235,9 +237,10 @@ private key from '~a': ~a")
            (leave (G_ "SSH public key authentication failed for '~a': ~a~%")
                   (build-machine-name machine) (get-error session))))
 
-       ;; From then on use MAX-SILENT-TIME as the absolute timeout when
-       ;; reading from or write to a channel for this session.
-       (session-set! session 'timeout max-silent-time)
+       (when max-silent-time
+         ;; From then on use MAX-SILENT-TIME as the absolute timeout when
+         ;; reading from or write to a channel for this session.
+         (session-set! session 'timeout max-silent-time))
 
        session)
       (x