diff options
Diffstat (limited to 'src/database/env_esp.cpp')
| -rw-r--r-- | src/database/env_esp.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/database/env_esp.cpp b/src/database/env_esp.cpp index 704e0a54..ad1f2221 100644 --- a/src/database/env_esp.cpp +++ b/src/database/env_esp.cpp @@ -15,6 +15,7 @@ #include <cstring> #include <functional> #include <limits> +#include <memory> #include <mutex> #include <queue> #include <set> @@ -39,7 +40,7 @@ namespace leveldb { -std::weak_ptr<tasks::Worker> sBackgroundThread; +std::shared_ptr<tasks::Worker> sBackgroundThread; std::string ErrToStr(FRESULT err) { switch (err) { @@ -463,7 +464,7 @@ EspEnv::EspEnv() {} void EspEnv::Schedule( void (*background_work_function)(void* background_work_arg), void* background_work_arg) { - auto worker = sBackgroundThread.lock(); + auto worker = sBackgroundThread; if (worker) { worker->Dispatch<void>( [=]() { std::invoke(background_work_function, background_work_arg); }); |
