Name

flush_work — wait for a work to finish executing the last queueing instance

Synopsis

bool flush_work (struct work_struct * work);
 

Arguments

work

the work to flush

Description

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.

RETURNS

true if flush_work waited for the work to finish execution, false if it was already idle.