From: John Crispin Date: Tue, 2 Jul 2013 16:31:25 +0000 (+0200) Subject: runqueue should cal the complete handler from more places X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=11e8afea;p=oweals%2Flibubox.git runqueue should cal the complete handler from more places Signed-off-by: John Crispin --- diff --git a/runqueue.c b/runqueue.c index 1bdb48e..189a005 100644 --- a/runqueue.c +++ b/runqueue.c @@ -186,8 +186,6 @@ void runqueue_task_kill(struct runqueue_task *t) runqueue_task_complete(t); if (running && t->type->kill) t->type->kill(q, t); - if (t->complete) - t->complete(q, t); runqueue_start_next(q); } @@ -205,6 +203,8 @@ void runqueue_resume(struct runqueue *q) void runqueue_task_complete(struct runqueue_task *t) { + struct runqueue *q = t->q; + if (!t->queued) return; @@ -215,6 +215,8 @@ void runqueue_task_complete(struct runqueue_task *t) t->queued = false; t->running = false; t->cancelled = false; + if (t->complete) + t->complete(q, t); runqueue_start_next(t->q); }