## nng_aio_wait

Wait for asynchronous I/O operation.

### Synopsis

```c
#include <nng/nng.h>

void nng_aio_wait(nng_aio *aio);
```

== DESCRIPTION

The `nng_aio_wait` function waits for an asynchronous I/O operation to complete.
If the operation has not been started, or has already completed, then it returns immediately.

If a callback was set with _aio_ when it was allocated, then this function will not be called until the callback has completed.

IMPORTANT: This function should never be called from a function that itself
is a callback of an xref:nng_aio.adoc[`aio`], either this one or any other.
Doing so may result in a deadlock.


### See ALso

xref:nng_aio_abort.adoc[nng_aio_abort],
xref:nng_aio_busy.adoc[nng_aio_busy]
