aboutsummaryrefslogtreecommitdiff
path: root/src/core/aio.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-07 19:32:40 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-07 19:39:38 -0800
commit3ca7bcc0edd0f26c33264d32e7b6f07276e72e3c (patch)
tree99b7a80b4c7241c030e0ee4e1b08f3d515f1db3f /src/core/aio.h
parent8af6befd3a3805501e5c13612558241e60b349ba (diff)
downloadnng-3ca7bcc0edd0f26c33264d32e7b6f07276e72e3c.tar.gz
nng-3ca7bcc0edd0f26c33264d32e7b6f07276e72e3c.tar.bz2
nng-3ca7bcc0edd0f26c33264d32e7b6f07276e72e3c.zip
aio: task_abort was a mistake
The use of task_abort to prematurely fail an aio at scheduling time was a mistake, because it could have led to duplicate calls to nng_aio_finish(). We do need to ensure that we leave an indicator so that nni_aio_schedule can return the abort status to caller, in the case that abort is called between the nni_aio_begin and nni_aio_schedule calls.
Diffstat (limited to 'src/core/aio.h')
-rw-r--r--src/core/aio.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/aio.h b/src/core/aio.h
index 5f7ddb69..9491a2fa 100644
--- a/src/core/aio.h
+++ b/src/core/aio.h
@@ -214,6 +214,7 @@ struct nng_aio {
bool a_expire_ok; // Expire from sleep is ok
bool a_expiring; // Expiration in progress
bool a_use_expire; // Use expire instead of timeout
+ bool a_abort; // Task was aborted
bool a_init; // Initialized this
nni_task a_task;