diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-05-22 15:34:40 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-05-22 15:35:50 +1000 |
| commit | da977aaa3feb397c426563da8897d51ebeba8d1f (patch) | |
| tree | 3daf9278518b2cace7f26ec67e7eb486ba6adcf2 /src/database/env_esp.cpp | |
| parent | a6ab1504058304012791281f9eb42c262745888f (diff) | |
| parent | 5ac4d3949cd7430e0d4c994bbc528e8e4fa91337 (diff) | |
| download | tangara-fw-da977aaa3feb397c426563da8897d51ebeba8d1f.tar.gz | |
Merge branch 'main' into state-machines
Diffstat (limited to 'src/database/env_esp.cpp')
| -rw-r--r-- | src/database/env_esp.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/database/env_esp.cpp b/src/database/env_esp.cpp index 71d4fcea..3bc68984 100644 --- a/src/database/env_esp.cpp +++ b/src/database/env_esp.cpp @@ -29,10 +29,12 @@ #include "leveldb/slice.h" #include "leveldb/status.h" -#include "db_task.hpp" +#include "tasks.hpp" namespace leveldb { +std::weak_ptr<tasks::Worker> sBackgroundThread; + std::string ErrToStr(FRESULT err) { switch (err) { case FR_OK: @@ -455,8 +457,11 @@ EspEnv::EspEnv() {} void EspEnv::Schedule( void (*background_work_function)(void* background_work_arg), void* background_work_arg) { - database::SendToDbTask( - [=]() { std::invoke(background_work_function, background_work_arg); }); + auto worker = sBackgroundThread.lock(); + if (worker) { + worker->Dispatch<void>( + [=]() { std::invoke(background_work_function, background_work_arg); }); + } } } // namespace leveldb |
