summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2001-02-06 22:58:37 +0000
committerSteve Huston <shuston@riverace.com>2001-02-06 22:58:37 +0000
commite58da9076a696e5e1e97f70ca438bbb152c2cbb9 (patch)
tree93239f76e86baec95dcea185e7d61edc140a7e9d
parent91d0f1ce5753347099e3dd12812d41a82a683182 (diff)
downloadATCD-e58da9076a696e5e1e97f70ca438bbb152c2cbb9.tar.gz
ChangeLogTag:Tue Feb 06 17:55:28 2001 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog14
-rw-r--r--ChangeLogs/ChangeLog-02a14
-rw-r--r--ChangeLogs/ChangeLog-03a14
-rw-r--r--ace/Asynch_Acceptor.cpp3
-rw-r--r--ace/Asynch_IO.cpp12
-rw-r--r--ace/Asynch_IO.h6
-rw-r--r--examples/Reactor/Proactor/post_completions.cpp4
7 files changed, 62 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 9d34a8b2d85..c2a545dd87b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Tue Feb 06 17:55:28 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/Reactor/Proactor/post_completions.cpp: Allow this to
+ run with AIOCB_Proactor.
+
+ * ace/Asynch_IO.{h cpp}: Added ACE_Handler::handle (ACE_HANDLE)
+ function to set the handle; changed ACE_HANDLE ACE_Handler::handle
+ to return the actual value.
+
+ * ace/Asynch_Acceptor.cpp (handle_accept): Call ACE_Handler::handle
+ to set the handle value for the new handler before calling its
+ open() method.
+
Tue Feb 06 17:16:43 2001 Steve Huston <shuston@riverace.com>
* tests/MEM_Stream_Test.cpp:
@@ -11,6 +24,7 @@ Mon Feb 5 16:19:20 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
macros to use the form 0x0123 rather than 0123X. Thanks to
Craig Rodrigues <crodrigu@bbn.com> for helping find this
problem.
+
Mon Feb 5 18:20:11 2001 Krishnakumar B <kitty@cs.wustl.edu>
* ace/config-sunos5.5.h (ACE_USES_OLD_IOSTREAMS):
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 9d34a8b2d85..c2a545dd87b 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,16 @@
+Tue Feb 06 17:55:28 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/Reactor/Proactor/post_completions.cpp: Allow this to
+ run with AIOCB_Proactor.
+
+ * ace/Asynch_IO.{h cpp}: Added ACE_Handler::handle (ACE_HANDLE)
+ function to set the handle; changed ACE_HANDLE ACE_Handler::handle
+ to return the actual value.
+
+ * ace/Asynch_Acceptor.cpp (handle_accept): Call ACE_Handler::handle
+ to set the handle value for the new handler before calling its
+ open() method.
+
Tue Feb 06 17:16:43 2001 Steve Huston <shuston@riverace.com>
* tests/MEM_Stream_Test.cpp:
@@ -11,6 +24,7 @@ Mon Feb 5 16:19:20 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
macros to use the form 0x0123 rather than 0123X. Thanks to
Craig Rodrigues <crodrigu@bbn.com> for helping find this
problem.
+
Mon Feb 5 18:20:11 2001 Krishnakumar B <kitty@cs.wustl.edu>
* ace/config-sunos5.5.h (ACE_USES_OLD_IOSTREAMS):
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 9d34a8b2d85..c2a545dd87b 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,16 @@
+Tue Feb 06 17:55:28 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/Reactor/Proactor/post_completions.cpp: Allow this to
+ run with AIOCB_Proactor.
+
+ * ace/Asynch_IO.{h cpp}: Added ACE_Handler::handle (ACE_HANDLE)
+ function to set the handle; changed ACE_HANDLE ACE_Handler::handle
+ to return the actual value.
+
+ * ace/Asynch_Acceptor.cpp (handle_accept): Call ACE_Handler::handle
+ to set the handle value for the new handler before calling its
+ open() method.
+
Tue Feb 06 17:16:43 2001 Steve Huston <shuston@riverace.com>
* tests/MEM_Stream_Test.cpp:
@@ -11,6 +24,7 @@ Mon Feb 5 16:19:20 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
macros to use the form 0x0123 rather than 0123X. Thanks to
Craig Rodrigues <crodrigu@bbn.com> for helping find this
problem.
+
Mon Feb 5 18:20:11 2001 Krishnakumar B <kitty@cs.wustl.edu>
* ace/config-sunos5.5.h (ACE_USES_OLD_IOSTREAMS):
diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp
index c32b8b330ed..2321302c331 100644
--- a/ace/Asynch_Acceptor.cpp
+++ b/ace/Asynch_Acceptor.cpp
@@ -263,6 +263,9 @@ ACE_Asynch_Acceptor<HANDLER>::handle_accept (const ACE_Asynch_Accept::Result &re
if (result.act () != 0)
new_handler->act (result.act ());
+ // Set up the handler's new handle value
+ new_handler->handle (result.accept_handle ());
+
// Initiate the handler
new_handler->open (result.accept_handle (),
result.message_block ());
diff --git a/ace/Asynch_IO.cpp b/ace/Asynch_IO.cpp
index 0d2595f82b9..b7bd8edcc2b 100644
--- a/ace/Asynch_IO.cpp
+++ b/ace/Asynch_IO.cpp
@@ -911,12 +911,12 @@ ACE_Asynch_Transmit_File::Header_And_Trailer::transmit_buffers (void)
// *********************************************************************
ACE_Handler::ACE_Handler (void)
- : proactor_ (0)
+ : proactor_ (0), handle_ (ACE_INVALID_HANDLE)
{
}
ACE_Handler::ACE_Handler (ACE_Proactor *d)
- : proactor_ (d)
+ : proactor_ (d), handle_ (ACE_INVALID_HANDLE)
{
}
@@ -980,7 +980,13 @@ ACE_Handler::proactor (ACE_Proactor *p)
ACE_HANDLE
ACE_Handler::handle (void) const
{
- return ACE_INVALID_HANDLE;
+ return this->handle_;
+}
+
+void
+ACE_Handler::handle (ACE_HANDLE h)
+{
+ this->handle_ = h;
}
// ************************************************************
diff --git a/ace/Asynch_IO.h b/ace/Asynch_IO.h
index b2a67db6847..121e8c30eb5 100644
--- a/ace/Asynch_IO.h
+++ b/ace/Asynch_IO.h
@@ -1085,9 +1085,15 @@ public:
*/
virtual ACE_HANDLE handle (void) const;
+ /// Set the ACE_HANDLE value for this Handler.
+ virtual void handle (ACE_HANDLE);
+
protected:
/// The proactor associated with this handler.
ACE_Proactor *proactor_;
+
+ /// The ACE_HANDLE in use with this handler.
+ ACE_HANDLE handle_;
};
// Forward declarations
diff --git a/examples/Reactor/Proactor/post_completions.cpp b/examples/Reactor/Proactor/post_completions.cpp
index 2e94ba6f722..0f3ba203355 100644
--- a/examples/Reactor/Proactor/post_completions.cpp
+++ b/examples/Reactor/Proactor/post_completions.cpp
@@ -42,8 +42,8 @@
static ACE_Atomic_Op <ACE_Thread_Mutex, size_t> Completions_To_Go;
-#if ((defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || \
- (defined (ACE_HAS_AIO_CALLS)) && !defined (ACE_POSIX_AIOCB_PROACTOR))
+#if (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || \
+ defined (ACE_HAS_AIO_CALLS)
// This only works on Win32 platforms and on Unix platforms supporting
// POSIX aio calls.