summaryrefslogtreecommitdiff
path: root/ace/POSIX_Asynch_IO.cpp
diff options
context:
space:
mode:
authoralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-01 21:56:44 +0000
committeralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-01 21:56:44 +0000
commitaa8da1ea1553ccf0a338bba0ae44f620fde6c29c (patch)
treed59c900d62f1bb5dd637981f06d54f6a91e42d8e /ace/POSIX_Asynch_IO.cpp
parenta94c7e385ad964986e80be8e316b544da7f550b5 (diff)
downloadATCD-aa8da1ea1553ccf0a338bba0ae44f620fde6c29c.tar.gz
Tue Jun 1 16:48:58 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
Diffstat (limited to 'ace/POSIX_Asynch_IO.cpp')
-rw-r--r--ace/POSIX_Asynch_IO.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/ace/POSIX_Asynch_IO.cpp b/ace/POSIX_Asynch_IO.cpp
index 6c3683ed4fb..0c1649dbb80 100644
--- a/ace/POSIX_Asynch_IO.cpp
+++ b/ace/POSIX_Asynch_IO.cpp
@@ -169,8 +169,18 @@ ACE_POSIX_Asynch_Operation::open (ACE_Handler &handler,
int
ACE_POSIX_Asynch_Operation::cancel (void)
{
- // @@ Not implemented.
- ACE_NOTSUP_RETURN (0);
+ int result = ::aio_cancel (this->handle_, 0);
+
+ if (result == -1)
+ return -1;
+
+ // Check the return value and return 0/1/2 appropriately.
+ if (result == AIO_CANCELED)
+ return 0;
+ else if (result == AIO_ALLDONE)
+ return 1;
+ else if (result == AIO_NOTCANCELED)
+ return 2;
}
ACE_Proactor *
@@ -1830,6 +1840,10 @@ ACE_POSIX_Asynch_Accept_Handler::register_accept_call_i (ACE_POSIX_Asynch_Accept
return 0;
}
+// @@ We could have a queue where the <result> objects are arranged
+// according to the priority. This will help us to demux the accept
+// completions based on the priority. (Alex).
+
ACE_POSIX_Asynch_Accept_Result *
ACE_POSIX_Asynch_Accept_Handler::deregister_accept_call (void)
{