[OPTIM] shrink wake_expired_tasks() by using task_wakeup()
It's not worth duplicating task_wakeup() in wake_expired_tasks().
Calling it reduces code size and slightly improves performance.
diff --git a/src/task.c b/src/task.c
index f57df20..2d35e21 100644
--- a/src/task.c
+++ b/src/task.c
@@ -179,8 +179,6 @@
do {
eb = eb32_first(&timers[tree]);
while (eb) {
- struct eb32_node *next_eb;
-
task = eb32_entry(eb, struct task, eb);
if ((now_ms - eb->key) & TIMER_SIGN_BIT) {
/* note that we don't need this check for the <previous>
@@ -190,14 +188,9 @@
return;
}
- /* detach the task from the queue */
- next_eb = eb32_next(eb);
- eb32_delete(eb);
- eb = next_eb;
-
- /* and add the task to the run queue */
- DLIST_ADD(run_queue, &task->qlist);
- task->state = TASK_RUNNING;
+ /* detach the task from the queue and add the task to the run queue */
+ eb = eb32_next(eb);
+ _task_wakeup(task);
}
tree = (tree + 1) & TIMER_TREE_MASK;
} while (((tree - now_tree) & TIMER_TREE_MASK) < TIMER_TREES/2);