diff options
author | alex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-01 21:56:44 +0000 |
---|---|---|
committer | alex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-01 21:56:44 +0000 |
commit | aa8da1ea1553ccf0a338bba0ae44f620fde6c29c (patch) | |
tree | d59c900d62f1bb5dd637981f06d54f6a91e42d8e /ace/POSIX_Asynch_IO.cpp | |
parent | a94c7e385ad964986e80be8e316b544da7f550b5 (diff) | |
download | ATCD-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.cpp | 18 |
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) { |