summaryrefslogtreecommitdiff
path: root/components/drivers/include
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2021-03-03 08:53:27 +0800
committerGitHub <[email protected]>2021-03-03 08:53:27 +0800
commitd9b88ddf2be81826de1f16561286eeea7cf94e9b (patch)
treeb373900d09015eb9b2304b345214d254c1173b0a /components/drivers/include
parentfac97f17168c964684bb86ad905a86e16681c78b (diff)
parent4f2359d34c502901c56c84ee0b08561aa12f8113 (diff)
Merge pull request #4290 from enkiller/0201-1456
优化工作队列体积,临界区保护更加完善
Diffstat (limited to 'components/drivers/include')
-rw-r--r--components/drivers/include/ipc/workqueue.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/components/drivers/include/ipc/workqueue.h b/components/drivers/include/ipc/workqueue.h
index 23e256c420..11fee489bd 100644
--- a/components/drivers/include/ipc/workqueue.h
+++ b/components/drivers/include/ipc/workqueue.h
@@ -29,6 +29,7 @@ enum
struct rt_workqueue
{
rt_list_t work_list;
+ rt_list_t delayed_list;
struct rt_work *work_current; /* current work */
struct rt_semaphore sem;
@@ -62,6 +63,7 @@ rt_err_t rt_workqueue_dowork(struct rt_workqueue *queue, struct rt_work *work);
rt_err_t rt_workqueue_submit_work(struct rt_workqueue *queue, struct rt_work *work, rt_tick_t time);
rt_err_t rt_workqueue_cancel_work(struct rt_workqueue *queue, struct rt_work *work);
rt_err_t rt_workqueue_cancel_work_sync(struct rt_workqueue *queue, struct rt_work *work);
+rt_err_t rt_workqueue_cancel_all_work(struct rt_workqueue *queue);
#ifdef RT_USING_SYSTEM_WORKQUEUE
rt_err_t rt_work_submit(struct rt_work *work, rt_tick_t time);