diff options
Diffstat (limited to 'src/database/database.cpp')
| -rw-r--r-- | src/database/database.cpp | 7 |
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( |
