As I understand it calling aio_return is necessary to finalize aio_read and aio_write calls. So the normal flow is something like
- Call
aio_read - Determine that the read has completed (with
aio_error,aio_suspendor receiving a signal viaaio_sigevent - Call
aio_returnto finalize the read.
(steps 2 and 3 can be done with the aio_waitcomplete extension)
Is it necessary to call aio_return if the io is cancelled with aio_cancel, or does the cancel also finalise the io?
Also, does this depend on the implementation?