diff --git a/lix/legacy/build-remote.cc b/lix/legacy/build-remote.cc index 63203093f..9803f37a0 100644 --- a/lix/legacy/build-remote.cc +++ b/lix/legacy/build-remote.cc @@ -405,7 +405,7 @@ kj::Promise Instance::init(InitContext context) } kj::Promise Instance::buildImpl(BuildContext context) -{ +try { if (!initialized) { throw Error("build hook not fully initialized"); } @@ -461,6 +461,8 @@ kj::Promise Instance::buildImpl(BuildContext context) auto ac = context.getResults().initResult().initGood().initAccept(); ac.setMachine(kj::heap(store, drvPath, std::move(*builder))); +} catch (...) { + RPC_FILL(context.getResults(), initResult, std::current_exception()); } kj::Promise Instance::build(BuildContext context)