aboutsummaryrefslogtreecommitdiff
path: root/nix/nix-daemon/guix-daemon.cc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-06-03 23:55:31 +0200
committerLudovic Courtès <ludo@gnu.org>2017-06-04 00:35:55 +0200
commit2ca9f51ec8125c0124362300853365a1a6c76ee5 (patch)
tree1b0fbd14a29dff3ea9fb077abb5483e7e9f0e4b8 /nix/nix-daemon/guix-daemon.cc
parent20214f71157074406c19f4d29228eed79938b97d (diff)
downloadpatches-2ca9f51ec8125c0124362300853365a1a6c76ee5.tar
patches-2ca9f51ec8125c0124362300853365a1a6c76ee5.tar.gz
daemon: Add '--timeout' and '--max-silent-time'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_TIMEOUT) (GUIX_OPT_MAX_SILENT_TIME): New macros. * nix/nix-daemon/guix-daemon.cc (options): Add '--timeout' and '--max-silent-time'. (parse_opt): Honor them. * tests/guix-daemon.sh: Add test. * doc/guix.texi (Invoking guix-daemon): Document the options. (Common Build Options): Properly describe default timeout/max-silent-time value. Add cross-ref to "Invoking guix-daemon".
Diffstat (limited to 'nix/nix-daemon/guix-daemon.cc')
-rw-r--r--nix/nix-daemon/guix-daemon.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index aa47a290d2..0d9c33d1d2 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -81,6 +81,8 @@ builds derivations on behalf of its clients.");
#define GUIX_OPT_GC_KEEP_OUTPUTS 15
#define GUIX_OPT_GC_KEEP_DERIVATIONS 16
#define GUIX_OPT_BUILD_ROUNDS 17
+#define GUIX_OPT_TIMEOUT 18
+#define GUIX_OPT_MAX_SILENT_TIME 19
static const struct argp_option options[] =
{
@@ -91,6 +93,10 @@ static const struct argp_option options[] =
},
{ "max-jobs", 'M', n_("N"), 0,
n_("allow at most N build jobs") },
+ { "timeout", GUIX_OPT_TIMEOUT, n_("SECONDS"), 0,
+ n_("mark builds as failed after SECONDS of activity") },
+ { "max-silent-time", GUIX_OPT_MAX_SILENT_TIME, n_("SECONDS"), 0,
+ n_("mark builds as failed after SECONDS of silence") },
{ "disable-chroot", GUIX_OPT_DISABLE_CHROOT, 0, 0,
n_("disable chroot builds") },
{ "chroot-directory", GUIX_OPT_CHROOT_DIR, n_("DIR"), 0,
@@ -245,6 +251,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
case 'M':
settings.set ("build-max-jobs", arg);
break;
+ case GUIX_OPT_TIMEOUT:
+ settings.set ("build-timeout", arg);
+ break;
+ case GUIX_OPT_MAX_SILENT_TIME:
+ settings.set ("build-max-silent-time", arg);
+ break;
case GUIX_OPT_SYSTEM:
settings.thisSystem = arg;
break;