libstore: make BinaryCacheStore::getFile return a source

this lets us remove the last true remaining uses of
makeDecompressionSink.

Change-Id: I146ca2bbe1a9ae9a367117a7b8a304b23a63e5e2
This commit is contained in:
eldritch horrors
2024-07-11 11:39:18 +00:00
parent df8851f286
commit 5587dbdcf0
6 changed files with 22 additions and 15 deletions
+3 -1
View File
@@ -294,7 +294,9 @@ Generator<Bytes> readFileSource(const Path & path)
AutoCloseFD fd{open(path.c_str(), O_RDONLY | O_CLOEXEC)};
if (!fd)
throw SysError("opening file '%s'", path);
co_yield drainFDSource(fd.get());
return [](AutoCloseFD fd) -> Generator<Bytes> {
co_yield drainFDSource(fd.get());
}(std::move(fd));
}