summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-09-28 18:06:15 +0200
committerLudovic Courtès <ludo@gnu.org>2019-09-28 22:56:40 +0200
commitada9a19a2dca74feafcf24df1152abd685d4142f (patch)
treec27e60f1f5651dc6009aa2c8d9711c3944494712
parenta3af06ad65eb097ddaa9a6fab893e2b688734e04 (diff)
downloadguix-ada9a19a2dca74feafcf24df1152abd685d4142f.tar.gz
daemon: Strictly respect timeouts for 'guix offload'.
Until now it was up to 'guix offload' to honor timeouts.  Unfortunately
it would sometimes fail to do that, for example due to the libssh bug at
<https://bugs.libssh.org/T33>.  With this change, 'guix offload' is
automatically killed by the daemon when one of the timeouts expires.

Thus, data transfers performed by 'guix offload' now count as part of
the timeouts, rather than just actual build time.

* nix/libstore/build.cc (DerivationGoal::tryBuildHook): Pass true as the
'respectTimeouts' argument to 'childStarted'.
-rw-r--r--nix/libstore/build.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index ad53b81413..74cd05417f 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -1648,7 +1648,7 @@ HookReply DerivationGoal::tryBuildHook()
     set<int> fds;
     fds.insert(hook->fromHook.readSide);
     fds.insert(hook->builderOut.readSide);
-    worker.childStarted(shared_from_this(), hook->pid, fds, false, false);
+    worker.childStarted(shared_from_this(), hook->pid, fds, false, true);
 
     if (settings.printBuildTrace)
         printMsg(lvlError, format("@ build-started %1% - %2% %3% %4%")