diff options
author | Tejun Heo <tj@kernel.org> | 2010-09-16 10:48:29 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-09-19 17:51:05 +0200 |
commit | 09383498c5d35262e643bfdbae84826177a3c624 (patch) | |
tree | ec75ee767bff28cabbd1d1b82cfc3457147dda33 /include | |
parent | baf59022c37d43f202e62d5130e4bac5e825b426 (diff) | |
download | linux-09383498c5d35262e643bfdbae84826177a3c624.tar.gz linux-09383498c5d35262e643bfdbae84826177a3c624.tar.bz2 linux-09383498c5d35262e643bfdbae84826177a3c624.zip |
workqueue: implement flush[_delayed]_work_sync()
Implement flush[_delayed]_work_sync(). These are flush functions
which also make sure no CPU is still executing the target work from
earlier queueing instances. These are similar to
cancel[_delayed]_work_sync() except that the target work item is
flushed instead of cancelled.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/workqueue.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index bb9b683ea6fa..e33ff4a91703 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -355,9 +355,11 @@ extern int keventd_up(void); int execute_in_process_context(work_func_t fn, struct execute_work *); extern bool flush_work(struct work_struct *work); +extern bool flush_work_sync(struct work_struct *work); extern bool cancel_work_sync(struct work_struct *work); extern bool flush_delayed_work(struct delayed_work *dwork); +extern bool flush_delayed_work_sync(struct delayed_work *work); extern bool cancel_delayed_work_sync(struct delayed_work *dwork); extern void workqueue_set_max_active(struct workqueue_struct *wq, |