This documentation is for version v1.3.0 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.


#include <nng/nng.h>

void nng_aio_stop(nng_aio *aio);


The nng_aio_stop() function stops the asynchronous I/O operation associated with aio by aborting with NNG_ECANCELED, and then waits for it to complete or to be completely aborted.

If an operation is in progress when this function is called, that operation is canceled and the callback function is not allowed to run.

If the callback function is already running when this function is called, then it is allowed to complete before returning to the caller.

No new operations will be started on this aio.

Calling this function means that the operation may be aborted without completing its callback function.
When multiple asynchronous I/O handles are in use and need to be shut down, it is safest to stop all of them, before deallocating any of this with nng_aio_free(), particularly if the callbacks might attempt to reschedule additional operations.