summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2007-09-06 14:47:30 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2007-09-06 14:47:30 +0000
commitf610af5bd7f491fba67bb9ae0301dfcf7316044b (patch)
tree0cc128a3591ae82cf4bfbe3d1064c862c6105a86
parent01f5e7434c75fa6ba31f420bbbe9e7a7d2bd428d (diff)
downloadATCD-f610af5bd7f491fba67bb9ae0301dfcf7316044b.tar.gz
-rw-r--r--ACE/ace/WIN32_Asynch_IO.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/ACE/ace/WIN32_Asynch_IO.cpp b/ACE/ace/WIN32_Asynch_IO.cpp
index 6ea22949968..a2544c7c2f3 100644
--- a/ACE/ace/WIN32_Asynch_IO.cpp
+++ b/ACE/ace/WIN32_Asynch_IO.cpp
@@ -10,6 +10,7 @@ ACE_RCSID (ace,
(defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 == 1))
#include "ace/WIN32_Proactor.h"
+#include "ace/Proactor.h"
#include "ace/Message_Block.h"
#include "ace/Service_Config.h"
#include "ace/INET_Addr.h"
@@ -159,6 +160,11 @@ ACE_WIN32_Asynch_Operation::open (const ACE_Handler::Proxy_Ptr &handler_proxy,
if (this->handle_ == ACE_INVALID_HANDLE)
return -1;
+ if (this->proactor_!= 0)
+ // update implementation.
+ this->win32_proactor_ =
+ dynamic_cast <ACE_WIN32_Proactor *>(this->proactor_->implementation ());
+
// Register with the <proactor>.
return this->win32_proactor_->register_handle (this->handle_,
completion_key);