Fixed recurring tasks sometimes getting totally dropped when canceling a recurring task
This commit is contained in:
parent
a23393b135
commit
7a7a24ee2c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user