# nng_aio_stop(3) Manual Page

## NAME

nng_aio_stop - stop asynchronous I/O operation

## SYNOPSIS

    #include <nng/nng.h>

    void nng_aio_stop(nng_aio *aio);

## DESCRIPTION

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.

## RETURN VALUES

None.

## ERRORS

None.

## SEE ALSO

nng_aio_cancel(3), nng_aio_free(3), nng_aio_wait(3), nng_aio_alloc(3), nng_aio(5), nng(7)