Don't evaluate inside a "throw"
Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41174. This caused hydra-eval-jobs to ignore SIGINT.
This commit is contained in:
parent
0cd6596b0e
commit
53b044c2f6
|
@ -333,15 +333,16 @@ static void prim_genericClosure(EvalState & state, const Pos & pos, Value * * ar
|
||||||
static void prim_abort(EvalState & state, const Pos & pos, Value * * args, Value & v)
|
static void prim_abort(EvalState & state, const Pos & pos, Value * * args, Value & v)
|
||||||
{
|
{
|
||||||
PathSet context;
|
PathSet context;
|
||||||
throw Abort(format("evaluation aborted with the following error message: ‘%1%’") %
|
string s = state.coerceToString(pos, *args[0], context);
|
||||||
state.coerceToString(pos, *args[0], context));
|
throw Abort(format("evaluation aborted with the following error message: ‘%1%’") % s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void prim_throw(EvalState & state, const Pos & pos, Value * * args, Value & v)
|
static void prim_throw(EvalState & state, const Pos & pos, Value * * args, Value & v)
|
||||||
{
|
{
|
||||||
PathSet context;
|
PathSet context;
|
||||||
throw ThrownError(format("%1%") % state.coerceToString(pos, *args[0], context));
|
string s = state.coerceToString(pos, *args[0], context);
|
||||||
|
throw ThrownError(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue