Merge pull request #5763 from yorickvP/evalstate-root

EvalCommand::getEvalState: use gc tracable allocator for EvalState (fix segfault)
This commit is contained in:
Eelco Dolstra
2021-12-13 13:37:17 +01:00
committed by GitHub

View File

@@ -73,8 +73,13 @@ ref<Store> EvalCommand::getEvalStore()
ref<EvalState> EvalCommand::getEvalState()
{
if (!evalState)
evalState = std::make_shared<EvalState>(searchPath, getEvalStore(), getStore());
if (!evalState) evalState =
#if HAVE_BOEHMGC
std::allocate_shared<EvalState>(traceable_allocator<EvalState>(),
#else
std::make_shared<EvalState>(
#endif
searchPath, getEvalStore(), getStore());
return ref<EvalState>(evalState);
}