Skip to content

Commit 2682c32

Browse files
committed
[wq][fix]工作队列默认使用C99标准实现遍历
1 parent ebe05a9 commit 2682c32

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

components/drivers/ipc/workqueue.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static void _workqueue_thread_entry(void *parameter)
5454
struct rt_workqueue *queue;
5555
rt_tick_t current_tick;
5656
rt_int32_t delay_tick;
57-
void (*work_func)(struct rt_work *work, void *work_data);
57+
void (*work_func)(struct rt_work * work, void *work_data);
5858
void *work_data;
5959

6060
queue = (struct rt_workqueue *)parameter;
@@ -142,7 +142,9 @@ static rt_err_t _workqueue_submit_work(struct rt_workqueue *queue,
142142
work->timeout_tick = rt_tick_get() + ticks;
143143

144144
list_tmp = &(queue->delayed_list);
145-
rt_list_for_each_entry(work_tmp, &(queue->delayed_list), list)
145+
for (work_tmp = rt_list_entry(list_tmp->next, struct rt_work, list);
146+
&work_tmp->list != list_tmp;
147+
work_tmp = rt_list_entry(work_tmp->list.next, struct rt_work, list))
146148
{
147149
if ((work_tmp->timeout_tick - work->timeout_tick) < RT_TICK_MAX / 2)
148150
{

0 commit comments

Comments
 (0)