= nng_aio_free(3) // // Copyright 2020 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_aio_free - free asynchronous I/O handle == SYNOPSIS [source, c] ---- #include void nng_aio_free(nng_aio *aio); void nng_aio_reap(nng_aio *aio); ---- == DESCRIPTION The `nng_aio_free()` function frees an allocated asynchronous I/O handle. If any operation is in progress, the operation is canceled, and the caller is blocked until the operation is completely canceled, to ensure that it is safe to deallocate the handle and any associated resources. (This is done by implicitly calling xref:nng_aio_stop.3.adoc[`nng_aio_stop()`].) The `nng_aio_reap()` function is the same as `nng_aio_free()`, but does it's work in a background thread. This can be useful to discard the _aio_ object from within the callback for the _aio_. IMPORTANT: Once either of these functions are called, the _aio_ object is invalid and must not be used again. == RETURN VALUES None. == ERRORS None. == SEE ALSO [.text-left] xref:nng_aio_alloc.3.adoc[nng_aio_alloc(3)], xref:nng_aio_stop.3.adoc[nng_aio_stop(3)], xref:nng_aio.5.adoc[nng_aio(5)], xref:nng.7.adoc[nng(7)]