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