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.