On Thu, Jul 2, 2015 at 3:08 AM, Konstantin Belousov <kostik...@gmail.com>
wrote:

> Having taskqueue_enqueue() which could silently (?) not enqueue the given
> task is huge and IMO risky change to the KPI.  If doing it, I think
> that there should be a new function to enqueue, which is allowed to
> fail, unlike taskqueue_enqueue().
>
> BTW, the man page for taskqueue(9) is wrong, taskqueue_enqueue(9)
> always succeed now and always returns 0 (ignoring the ushort overflow).
>

That's fair, but I feel that a new enqueue function would be rather
intrusive for existing drivers.  Maybe we should attach this from a
different angle.  How about a taskqueue_quiesce() function, which must be
called on a blocked taskqueue (by taskqueue_block() ).  taskqueue_quiesce()
would block until the taskqueue's thread has stopped running.  Then I can
do:

taskqueue_block()
taskqueue_quiesce()
taskqueue_cancel()
//...
taskqueue_free()
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to