summaryrefslogtreecommitdiff
path: root/src/database/env_esp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/env_esp.cpp')
-rw-r--r--src/database/env_esp.cpp11
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