summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-06-05 01:41:11 +0200
committerLudovic Courtès <ludo@gnu.org>2017-06-05 01:42:38 +0200
commit3bee4b61963bf0e0da4e5a52a0ba24fe0aae2302 (patch)
tree6a90c79b25ec7bfc71b95539bbef9203592848bb
parent368680d819f248da19512fb32b911705c5bca5a4 (diff)
downloadguix-3bee4b61963bf0e0da4e5a52a0ba24fe0aae2302.tar.gz
services: guix: Add 'max-silent-time' and 'timeout'.
* gnu/services/base.scm (<guix-configuration>)[max-silent-time]
[timeout]: New fields.
(guix-shepherd-service): Honor them.
* doc/guix.texi (Base Services): Document them.
-rw-r--r--doc/guix.texi6
-rw-r--r--gnu/services/base.scm10
2 files changed, 15 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e8fba43afe..13e692ff66 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9260,6 +9260,12 @@ Whether to use substitutes.
 @item @code{substitute-urls} (default: @var{%default-substitute-urls})
 The list of URLs where to look for substitutes by default.
 
+@item @code{max-silent-time} (default: @code{0})
+@itemx @code{timeout} (default: @code{0})
+The number of seconds of silence and the number of seconds of activity,
+respectively, after which a build process times out.  A value of zero
+disables the timeout.
+
 @item @code{extra-options} (default: @code{'()})
 List of extra command-line options for @command{guix-daemon}.
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 7cd9a34ca2..813535ed65 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1352,6 +1352,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
                     (default #t))
   (substitute-urls  guix-configuration-substitute-urls ;list of strings
                     (default %default-substitute-urls))
+  (max-silent-time  guix-configuration-max-silent-time ;integer
+                    (default 0))
+  (timeout          guix-configuration-timeout    ;integer
+                    (default 0))
   (extra-options    guix-configuration-extra-options ;list of strings
                     (default '()))
   (log-file         guix-configuration-log-file   ;string
@@ -1371,7 +1375,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
   (match config
     (($ <guix-configuration> guix build-group build-accounts
                              authorize-key? keys
-                             use-substitutes? substitute-urls extra-options
+                             use-substitutes? substitute-urls
+                             max-silent-time timeout
+                             extra-options
                              log-file lsof http-proxy tmpdir)
      (list (shepherd-service
             (documentation "Run the Guix daemon.")
@@ -1381,6 +1387,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
              #~(make-forkexec-constructor
                 (list #$(file-append guix "/bin/guix-daemon")
                       "--build-users-group" #$build-group
+                      "--max-silent-time" #$(number->string max-silent-time)
+                      "--timeout" #$(number->string timeout)
                       #$@(if use-substitutes?
                              '()
                              '("--no-substitutes"))