diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2023-01-30 16:12:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-30 16:12:19 +0100 |
commit | a31d7d4e5e5eeeb7ca12ca798dc383045e5be1a1 (patch) | |
tree | e3e5ae00204ea309739a8681417bd614ac807f11 /src/libstore | |
parent | c79b1582a7149a01dd4c75adcd689fd533e35e68 (diff) | |
parent | f3e272ba02c3167b65a635389394f97a733440ca (diff) |
Merge pull request #7715 from obsidiansystems/small-storePath-cleanups
Avoid some `StorePath` <-> `Path` round trips
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/store-api.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc index 5130409d4..31bd9318f 100644 --- a/src/libstore/store-api.cc +++ b/src/libstore/store-api.cc @@ -742,13 +742,13 @@ StorePathSet Store::queryValidPaths(const StorePathSet & paths, SubstituteFlag m std::condition_variable wakeup; ThreadPool pool; - auto doQuery = [&](const Path & path) { + auto doQuery = [&](const StorePath & path) { checkInterrupt(); - queryPathInfo(parseStorePath(path), {[path, this, &state_, &wakeup](std::future<ref<const ValidPathInfo>> fut) { + queryPathInfo(path, {[path, this, &state_, &wakeup](std::future<ref<const ValidPathInfo>> fut) { auto state(state_.lock()); try { auto info = fut.get(); - state->valid.insert(parseStorePath(path)); + state->valid.insert(path); } catch (InvalidPath &) { } catch (...) { state->exc = std::current_exception(); @@ -760,7 +760,7 @@ StorePathSet Store::queryValidPaths(const StorePathSet & paths, SubstituteFlag m }; for (auto & path : paths) - pool.enqueue(std::bind(doQuery, printStorePath(path))); // FIXME + pool.enqueue(std::bind(doQuery, path)); pool.process(); |