flush_work — wait for a work to finish executing the last queueing instance
bool flush_work ( | struct work_struct * work); |
Wait until work has finished execution. This function considers
only the last queueing instance of work. If work has been
enqueued across different CPUs on a non-reentrant workqueue or on
multiple workqueues, work might still be executing on return on
some of the CPUs from earlier queueing.
If work was queued only on a non-reentrant, ordered or unbound
workqueue, work is guaranteed to be idle on return if it hasn't
been requeued since flush started.