Fixed recurring tasks sometimes getting totally dropped when canceling a recurring task

This commit is contained in:
WolverinDEV 2021-04-18 21:20:11 +02:00
parent a23393b135
commit 7a7a24ee2c

View File

@ -195,7 +195,6 @@ void task_executor::enqueue_recurring_task(task_recurring *task) {
task_context_->task_recurring_head = task;
} else {
previous_task->next = task;
task->next = next_task;
}
}
}
@ -249,7 +248,7 @@ task_executor::task_cancel_result task_executor::internal_cancel_task(std::futur
previous_task->next = current_task->next;
} else {
assert(task_context_->task_recurring_head == current_task);
task_context_->task_recurring_head = nullptr;
task_context_->task_recurring_head = current_task->next;
}
assert(task_context_->task_recurring_count > 0);