drain_workqueue — drain a workqueue
void drain_workqueue ( | struct workqueue_struct * wq) ; |
Wait until the workqueue becomes empty. While draining is in progress,
only chain queueing is allowed. IOW, only currently pending or running
work items on wq
can queue further work items on it. wq
is flushed
repeatedly until it becomes empty. The number of flushing is detemined
by the depth of chaining and should be relatively short. Whine if it
takes too long.