From 504d7b5a11bce8ab1ec1e18ff9c4a72dfd12a36f Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 26 Feb 2018 09:15:24 -0800 Subject: Add a note that the AIO callback must not block. --- docs/man/nng_aio_alloc.adoc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/man/nng_aio_alloc.adoc b/docs/man/nng_aio_alloc.adoc index 57054e04..2ca95829 100644 --- a/docs/man/nng_aio_alloc.adoc +++ b/docs/man/nng_aio_alloc.adoc @@ -30,7 +30,11 @@ with a completion callback of _callb_, which will be executed when an associated asynchronous operation finishes. It will be called with the argument _arg_. -Asynchronous I/O operations all take an "aio" handle such as allocated by +NOTE: The callback _callb_ must not perform any blocking operations, and +must complete it's execution quickly. If _callb_ does block, this can +lead ultimately to an apparent "hang" or deadlock in the application. + +Asynchronous I/O operations all take an _aio_ handle such as allocated by this function. Such operations are usually started by a function that returns immediately. The operation is then run asynchronously, and completes sometime later. When that operation is complete, the callback supplied here is called, -- cgit v1.2.3-70-g09d2