cancel_work_sync — cancel a work and wait for it to finish
bool cancel_work_sync ( | struct work_struct * work) ; |
Cancel work
and wait for its execution to finish. This function
can be used even if the work re-queues itself or migrates to
another workqueue. On return from this function, work
is
guaranteed to be not pending or executing on any CPU.
cancel_work_sync(delayed_work->work) must not be used for
delayed_work's. Use cancel_delayed_work_sync
instead.
The caller must ensure that the workqueue on which work
was last
queued can't be destroyed before this function returns.