diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-02-01 10:54:20 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-02-01 10:54:20 +1100 |
| commit | dad159dc3c4ebc89d395b4b695a0626b7be10578 (patch) | |
| tree | e46c9b00f6a2879088b164347f9f35a5636ddad6 /src/database | |
| parent | fde45dba39152064add0379a8ae68b905adff9b9 (diff) | |
| download | tangara-fw-dad159dc3c4ebc89d395b4b695a0626b7be10578.tar.gz | |
Use a single pool of bg workers instead of separate tasks per use case
Also: bump the number of workers tasks up to 3 from 2!
This makes bg db updates + playback work :)
Diffstat (limited to 'src/database')
| -rw-r--r-- | src/database/database.cpp | 4 | ||||
| -rw-r--r-- | src/database/env_esp.cpp | 2 | ||||
| -rw-r--r-- | src/database/include/database.hpp | 2 | ||||
| -rw-r--r-- | src/database/include/env_esp.hpp | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp index bb26bc96..6b879710 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -126,14 +126,14 @@ static auto CheckDatabase(leveldb::DB& db, locale::ICollator& col) -> bool { auto Database::Open(IFileGatherer& gatherer, ITagParser& parser, locale::ICollator& collator, - tasks::Worker& bg_worker) + tasks::WorkerPool& bg_worker) -> cpp::result<Database*, DatabaseError> { if (sIsDbOpen.exchange(true)) { return cpp::fail(DatabaseError::ALREADY_OPEN); } if (!leveldb::sBackgroundThread) { - leveldb::sBackgroundThread = tasks::Worker::Start<tasks::Type::kDatabase>(); + leveldb::sBackgroundThread = &bg_worker; } return bg_worker diff --git a/src/database/env_esp.cpp b/src/database/env_esp.cpp index 8cd11727..f7a5637a 100644 --- a/src/database/env_esp.cpp +++ b/src/database/env_esp.cpp @@ -41,7 +41,7 @@ namespace leveldb { -tasks::Worker *sBackgroundThread = nullptr; +tasks::WorkerPool *sBackgroundThread = nullptr; std::string ErrToStr(FRESULT err) { switch (err) { diff --git a/src/database/include/database.hpp b/src/database/include/database.hpp index c4da3dc1..783d3872 100644 --- a/src/database/include/database.hpp +++ b/src/database/include/database.hpp @@ -56,7 +56,7 @@ class Database { static auto Open(IFileGatherer& file_gatherer, ITagParser& tag_parser, locale::ICollator& collator, - tasks::Worker& bg_worker) + tasks::WorkerPool& bg_worker) -> cpp::result<Database*, DatabaseError>; static auto Destroy() -> void; diff --git a/src/database/include/env_esp.hpp b/src/database/include/env_esp.hpp index dd0159b2..472a72a6 100644 --- a/src/database/include/env_esp.hpp +++ b/src/database/include/env_esp.hpp @@ -18,7 +18,7 @@ namespace leveldb { -extern tasks::Worker* sBackgroundThread; +extern tasks::WorkerPool* sBackgroundThread; // Tracks the files locked by EspEnv::LockFile(). // |
