summaryrefslogtreecommitdiff
path: root/src/database/database.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-11-07 10:32:07 +1100
committerjacqueline <me@jacqueline.id.au>2023-11-07 10:32:07 +1100
commit499d5a942fc2ad0149b0a16e978e090336dd8319 (patch)
tree1f671f0e3025b1350b25511e2442dfede19677df /src/database/database.cpp
parentd36fe9be6b522a3dade389213a0bb7e26a169627 (diff)
downloadtangara-fw-499d5a942fc2ad0149b0a16e978e090336dd8319.tar.gz
Add a wrapper codec source that does readahead
Diffstat (limited to 'src/database/database.cpp')
-rw-r--r--src/database/database.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp
index e826f576..e6cb85ed 100644
--- a/src/database/database.cpp
+++ b/src/database/database.cpp
@@ -117,16 +117,15 @@ static auto CheckDatabase(leveldb::DB& db, locale::ICollator& col) -> bool {
auto Database::Open(IFileGatherer& gatherer,
ITagParser& parser,
- locale::ICollator& collator)
+ locale::ICollator& collator,
+ tasks::Worker& bg_worker)
-> cpp::result<Database*, DatabaseError> {
- // TODO(jacqueline): Why isn't compare_and_exchange_* available?
if (sIsDbOpen.exchange(true)) {
return cpp::fail(DatabaseError::ALREADY_OPEN);
}
if (!leveldb::sBackgroundThread) {
- leveldb::sBackgroundThread.reset(
- tasks::Worker::Start<tasks::Type::kDatabaseBackground>());
+ leveldb::sBackgroundThread = &bg_worker;
}
std::shared_ptr<tasks::Worker> worker(