diff options
Diffstat (limited to 'src/database/db_task.cpp')
| -rw-r--r-- | src/database/db_task.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/database/db_task.cpp b/src/database/db_task.cpp index ce1cd98a..5b4b34b5 100644 --- a/src/database/db_task.cpp +++ b/src/database/db_task.cpp @@ -46,13 +46,13 @@ void DatabaseTaskMain(void* args) { while (true) { WorkItem item; if (xQueueReceive(sWorkQueue, &item, portMAX_DELAY)) { - if (item.quit) { - break; - } if (item.fn != nullptr) { std::invoke(*item.fn); delete item.fn; } + if (item.quit) { + break; + } } } vQueueDelete(sWorkQueue); @@ -68,7 +68,7 @@ auto StartDbTask() -> bool { sDbStack = reinterpret_cast<StackType_t*>( heap_caps_malloc(kDbStackSize, MALLOC_CAP_SPIRAM)); } - sWorkQueue = xQueueCreate(8, sizeof(std::function<void(void)>*)); + sWorkQueue = xQueueCreate(8, sizeof(WorkItem)); xTaskCreateStatic(&DatabaseTaskMain, "DB", kDbStackSize, NULL, 1, sDbStack, &sDbStaticTask); return true; |
