From 2ca9f51ec8125c0124362300853365a1a6c76ee5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 3 Jun 2017 23:55:31 +0200 Subject: 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". --- nix/nix-daemon/guix-daemon.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'nix/nix-daemon') 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; -- cgit v1.2.3