---
name: "nng_aio_stop"
section: "3"
platform: "linux"
package: "libnng-dev"
version: "1.10.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nng_aio_stop"
---

# nng\_aio\_stop(3)

stop asynchronous I/O operation

## 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, and for the callback associated with the *aio* to have completed executing.

Further calls to `nng_aio_begin()` using this *aio* will return false.

It is safe to call this for an *aio*, even when no operation is currently pending for it.

**Tip**\

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 them with `nng_aio_free()`, particularly if the callbacks might attempt to reschedule additional operations.

## RETURN VALUES

None.

## ERRORS

None.

## SEE ALSO

[nng\_aio\_alloc(3)](/nng_aio_alloc/3.md), [nng\_aio\_cancel(3)](/nng_aio_cancel/3.md), [nng\_aio\_free(3)](/nng_aio_free/3.md), [nng\_aio\_begin(3)](/nng_aio_begin/3.md), [nng\_aio\_wait(3)](/nng_aio_wait/3.md), [nng\_aio(5)](/nng_aio/5.md), [nng(7)](/nng/7.md)
