forked from lix-project/lix
Use std::unique_ptr for HookInstance
This commit is contained in:
parent
90ee1e3fe3
commit
2579e32c2b
|
@ -257,7 +257,7 @@ public:
|
||||||
|
|
||||||
LocalStore & store;
|
LocalStore & store;
|
||||||
|
|
||||||
std::shared_ptr<HookInstance> hook;
|
std::unique_ptr<HookInstance> hook;
|
||||||
|
|
||||||
Worker(LocalStore & store);
|
Worker(LocalStore & store);
|
||||||
~Worker();
|
~Worker();
|
||||||
|
@ -751,7 +751,7 @@ private:
|
||||||
Pipe userNamespaceSync;
|
Pipe userNamespaceSync;
|
||||||
|
|
||||||
/* The build hook. */
|
/* The build hook. */
|
||||||
std::shared_ptr<HookInstance> hook;
|
std::unique_ptr<HookInstance> hook;
|
||||||
|
|
||||||
/* Whether we're currently doing a chroot build. */
|
/* Whether we're currently doing a chroot build. */
|
||||||
bool useChroot = false;
|
bool useChroot = false;
|
||||||
|
@ -1566,7 +1566,7 @@ HookReply DerivationGoal::tryBuildHook()
|
||||||
if (!settings.useBuildHook || getEnv("NIX_BUILD_HOOK") == "" || !useDerivation) return rpDecline;
|
if (!settings.useBuildHook || getEnv("NIX_BUILD_HOOK") == "" || !useDerivation) return rpDecline;
|
||||||
|
|
||||||
if (!worker.hook)
|
if (!worker.hook)
|
||||||
worker.hook = std::make_shared<HookInstance>();
|
worker.hook = std::make_unique<HookInstance>();
|
||||||
|
|
||||||
/* Tell the hook about system features (beyond the system type)
|
/* Tell the hook about system features (beyond the system type)
|
||||||
required from the build machine. (The hook could parse the
|
required from the build machine. (The hook could parse the
|
||||||
|
@ -1601,8 +1601,7 @@ HookReply DerivationGoal::tryBuildHook()
|
||||||
|
|
||||||
printMsg(lvlTalkative, format("using hook to build path(s) %1%") % showPaths(missingPaths));
|
printMsg(lvlTalkative, format("using hook to build path(s) %1%") % showPaths(missingPaths));
|
||||||
|
|
||||||
hook = worker.hook;
|
hook = std::move(worker.hook);
|
||||||
worker.hook.reset();
|
|
||||||
|
|
||||||
/* Tell the hook all the inputs that have to be copied to the
|
/* Tell the hook all the inputs that have to be copied to the
|
||||||
remote system. This unfortunately has to contain the entire
|
remote system. This unfortunately has to contain the entire
|
||||||
|
|
Loading…
Reference in a new issue