blob: 012265016fddc4c192f0d552b54b745afacd26f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
## nng_aio_stop
Stop asynchronous I/O operation.
### Synopsis
```c
#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
xref:../iop/nng_aio_begin.adoc[`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 xref:nng_aio_free.adoc[`nng_aio_free`].
This is particularly true if the callbacks might attempt to reschedule additional operations.
### See Also
xref:nng_aio_cancel.adoc[nng_aio_cancel],
xref:nng_aio_free..adoc[nng_aio_free],
xref:../iop/nng_aio_begin.adoc[nng_aio_begin],
xref:nng_aio_wait.adoc[nng_aio_wait]
|