diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
| commit | 5b7b88420b169d1dfdeea6d082762fccefbc7d49 (patch) | |
| tree | e5bc4a44088a9ac62e1628ffa3265f4819c3c979 /src/database/database.cpp | |
| parent | c6bb42cdd21b63accd20012373a8a0e41d8566f5 (diff) | |
| download | tangara-fw-5b7b88420b169d1dfdeea6d082762fccefbc7d49.tar.gz | |
Fix issues with importing my entire library
Diffstat (limited to 'src/database/database.cpp')
| -rw-r--r-- | src/database/database.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp index 9206256f..a96b3eab 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -17,6 +17,7 @@ #include "esp_log.h" #include "ff.h" +#include "freertos/projdefs.h" #include "leveldb/cache.h" #include "leveldb/db.h" #include "leveldb/iterator.h" @@ -68,12 +69,13 @@ auto Database::Open(IFileGatherer* gatherer, ITagParser* parser) return cpp::fail(DatabaseError::ALREADY_OPEN); } + leveldb::sBackgroundThread.reset( + tasks::Worker::Start<tasks::Type::kDatabaseBackground>()); std::shared_ptr<tasks::Worker> worker( tasks::Worker::Start<tasks::Type::kDatabase>()); - leveldb::sBackgroundThread = std::weak_ptr<tasks::Worker>(worker); return worker ->Dispatch<cpp::result<Database*, DatabaseError>>( - [&]() -> cpp::result<Database*, DatabaseError> { + [=]() -> cpp::result<Database*, DatabaseError> { leveldb::DB* db; leveldb::Cache* cache = leveldb::NewLRUCache(24 * 1024); leveldb::Options options; @@ -121,7 +123,7 @@ Database::~Database() { delete db_; delete cache_; - leveldb::sBackgroundThread = std::weak_ptr<tasks::Worker>(); + leveldb::sBackgroundThread.reset(); sIsDbOpen.store(false); } |
