static inline void _add_timer(uint32_t period, list_item *item) { list_delete_item(item); if (period > STIMER_TASK_HIT_LIST_MAX) list_add_tail(&(m_timer.long_tick_list), item); else list_add_tail(&(m_timer.hit_task_list[HIT_LIST_IDX(period... 在这段代码中,list_delete_item...
queue->head=task->next;// 更新头部指针 // 如果队列现在变空,更新尾部指针 if(queue->head==NULL){ queue->tail=NULL; } spinlock_unlock(&queue->lock); returntask;// 返回弹出的任务 } 说明: 将函数签名更改为static inline task_t* __pop_task(task_queue_t *queue)以便正确地返回弹出的任务。