usrwqueue: implement order work queue

N/A

Change-Id: I9b6a76dec96f669c0b55bef39a9e5a2a71dde50b
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
This commit is contained in:
Jiuzhu Dong
2021-07-13 16:36:09 +08:00
parent 3d8a09e4cb
commit c4e5410fa5
10 changed files with 158 additions and 257 deletions
+2 -2
View File
@@ -81,9 +81,9 @@ static int work_qcancel(FAR struct kwork_wqueue_s *wqueue,
* marked as available (i.e., the worker field is nullified).
*/
if (WDOG_ISACTIVE(&work->timer))
if (WDOG_ISACTIVE(&work->u.timer))
{
wd_cancel(&work->timer);
wd_cancel(&work->u.timer);
}
else
{
+2 -2
View File
@@ -138,7 +138,7 @@ int work_queue(int qid, FAR struct work_s *work, worker_t worker,
}
else
{
wd_start(&work->timer, delay, hp_work_timer_expiry, (wdparm_t)work);
wd_start(&work->u.timer, delay, hp_work_timer_expiry, (wdparm_t)work);
}
}
else
@@ -155,7 +155,7 @@ int work_queue(int qid, FAR struct work_s *work, worker_t worker,
}
else
{
wd_start(&work->timer, delay, lp_work_timer_expiry, (wdparm_t)work);
wd_start(&work->u.timer, delay, lp_work_timer_expiry, (wdparm_t)work);
}
}
#endif