summaryrefslogtreecommitdiff
path: root/ace/Asynch_Acceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Asynch_Acceptor.cpp')
-rw-r--r--ace/Asynch_Acceptor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp
index d87ca0d07dc..e44698abc4e 100644
--- a/ace/Asynch_Acceptor.cpp
+++ b/ace/Asynch_Acceptor.cpp
@@ -299,8 +299,10 @@ ACE_Asynch_Acceptor<HANDLER>::handle_accept (const ACE_Asynch_Accept::Result &re
// If no errors
if (!error)
{
- // Update the Proactor.
- new_handler->proactor (this->proactor ());
+ // Update the Proactor unless make_handler() or constructed handler
+ // set up its own.
+ if (new_handler->proactor () == 0)
+ new_handler->proactor (this->proactor ());
// Pass the addresses
if (this->pass_addresses_)