summary refs log tree commit diff
path: root/m4
diff options
context:
space:
mode:
authorLars-Dominik Braun <ldb@leibniz-psychology.org>2020-07-20 11:28:51 +0200
committerLudovic Courtès <ludo@gnu.org>2020-07-20 23:25:09 +0200
commite8088f0b06c2193f2cce04a48aa1350229442a9f (patch)
treeaeee709e1061e0bf624c27a11c9019dfd4b5937a /m4
parent6c451e16b74160ac9604914c02a6bafff51fb805 (diff)
downloadguix-e8088f0b06c2193f2cce04a48aa1350229442a9f.tar.gz
ssh: Speed up RPCs by using #:nodelay.
Partly fixes <https://bugs.gnu.org/41702>.

* guix/ssh.scm (open-ssh-session): Enable #:nodelay.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Add feature check for this new parameter.
* doc/guix.texi (Requirements): Adjust.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'm4')
-rw-r--r--m4/guix.m46
1 files changed, 4 insertions, 2 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4
index 7c27ae74df..cce03045db 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -142,14 +142,16 @@ dnl GUIX_CHECK_GUILE_SSH
 dnl
 dnl Check whether a recent-enough Guile-SSH is available.
 AC_DEFUN([GUIX_CHECK_GUILE_SSH], [
-  dnl Check whether 'userauth-gssapi!' (introduced in 0.12.0) is present.
+  dnl Check whether '#:nodelay' paramater to 'make-session' (introduced in
+  dnl 0.13.0) is present.
   AC_CACHE_CHECK([whether Guile-SSH is available and recent enough],
     [guix_cv_have_recent_guile_ssh],
     [GUILE_CHECK([retval],
       [(and (@ (ssh channel) channel-send-eof)
             (@ (ssh popen) open-remote-pipe)
             (@ (ssh dist node) node-eval)
-            (@ (ssh auth) userauth-gssapi!))])
+            (@ (ssh auth) userauth-gssapi!)
+            ((@ (ssh session) make-session) #:nodelay #t))])
      if test "$retval" = 0; then
        guix_cv_have_recent_guile_ssh="yes"
      else