taskqueue_block

Andriy Gapon avg at FreeBSD.org
Wed Nov 27 09:48:52 UTC 2013


on 26/11/2013 23:42 Adrian Chadd said the following:
> Hi,
> 
> the net80211 semantics are:
> 
> * all those tasks have to have finished;

taskqueue_drain ensures this.

> * no new tasks should've been started whilst we're draining those tasks.

This is impossible to ensure by anything inside taskqueue implementation.

> waitfor_parent wants to block until all the pending update tasks are
> done. Ideally it would then stay blocked until the caller does their
> thing and then unblocks the taskqueue.

As I explained in my original email, these requirements are contradictory.  You
can not drain pending tasks having disallowed them to be run.

Something like this can not be done by means of taskqueue itself.

-- 
Andriy Gapon


More information about the freebsd-hackers mailing list