diff options
Diffstat (limited to 'src/core/taskq.c')
| -rw-r--r-- | src/core/taskq.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/taskq.c b/src/core/taskq.c index e63e33c7..fbd93ebe 100644 --- a/src/core/taskq.c +++ b/src/core/taskq.c @@ -184,6 +184,20 @@ nni_task_prep(nni_task *task) } void +nni_task_abort(nni_task *task) +{ + // This is called when unscheduling the task. + nni_mtx_lock(&task->task_mtx); + if (task->task_prep) { + task->task_prep = false; + task->task_busy--; + if (task->task_busy == 0) { + nni_cv_wake(&task->task_cv); + } + } + nni_mtx_unlock(&task->task_mtx); +} +void nni_task_wait(nni_task *task) { nni_mtx_lock(&task->task_mtx); |
