HomeFreeBSD

Implement callout_drain_async(), inspired by the projects/hps_head

Description

Implement callout_drain_async(), inspired by the projects/hps_head
branch.

This function is used to drain a callout via a callback instead of
blocking the caller until the drain is complete. Refer to the
callout_drain_async() manual page for a detailed description.

Limitation: If a lock is used with the callout, the callout can only
be drained asynchronously one time unless the callout_init_mtx()
function is called again. This limitation is not present in
projects/hps_head and will require more invasive changes to the
timeout code, which was not in the scope of this patch.

Differential Revision: https://reviews.freebsd.org/D3521
Reviewed by: wblock
MFC after: 1 month

Details

Provenance
hselaskyAuthored on
Reviewer
wblock
Differential Revision
D3521: Implement callout_drain_async()
Parents
rS287779: * Improve error checking for arp messages.
Branches
Unknown
Tags
Unknown