diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2018-09-07T15·08+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2018-09-07T15·08+0200 |
commit | bba3f0a308cceb56bad4aa1efe13927360ae463f (patch) | |
tree | 7c778faa9df588ff0b232f37d0ca797ab8f25daa /src/libstore/build.cc | |
parent | 33c3f91885429b60cab551e761f297a640aff7d5 (diff) |
If fallback is enabled, temporarily disable substituters after a failure
Otherwise, we just keep asking the substituter for other .narinfo files, which can take a very long time due to retries/timeouts.
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r-- | src/libstore/build.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 96ca2874257c..1402bd097c35 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -3682,6 +3682,12 @@ void SubstitutionGoal::tryNext() } catch (InvalidPath &) { tryNext(); return; + } catch (SubstituterDisabled &) { + if (settings.tryFallback) { + tryNext(); + return; + } + throw; } catch (Error & e) { if (settings.tryFallback) { printError(e.what()); |