remove bug in the timer queue
This commit is contained in:
parent
45d1acddca
commit
426c06193b
1 changed files with 6 additions and 3 deletions
|
@ -1017,8 +1017,9 @@ int set_timer(uint64_t deadline)
|
|||
if (runqueues[core_id].timers.last)
|
||||
runqueues[core_id].timers.last->next = curr_task;
|
||||
runqueues[core_id].timers.last = curr_task;
|
||||
if (!runqueues[core_id].timers.first)
|
||||
runqueues[core_id].timers.first = curr_task;
|
||||
// obsolete lines...
|
||||
//if (!runqueues[core_id].timers.first)
|
||||
// runqueues[core_id].timers.first = curr_task;
|
||||
} else {
|
||||
curr_task->prev = tmp->prev;
|
||||
curr_task->next = tmp;
|
||||
|
@ -1198,7 +1199,9 @@ void scheduler(void)
|
|||
|
||||
// remove timer from queue
|
||||
runqueues[core_id].timers.first = runqueues[core_id].timers.first->next;
|
||||
if (!runqueues[core_id].timers.first)
|
||||
if (runqueues[core_id].timers.first)
|
||||
runqueues[core_id].timers.first->prev = NULL;
|
||||
else
|
||||
runqueues[core_id].timers.last = NULL;
|
||||
task->flags &= ~TASK_TIMER;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue