From f47ce30d9c49394988e8c72adefea2e29b1f2fd6 Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Mon, 17 Jan 2011 20:57:26 +0000 Subject: ChangeLogTag:Mon Jan 17 20:47:01 UTC 2011 Steve Huston --- ChangeLog | 6 ++++++ ace/Asynch_Acceptor.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 85b85b8b68e..cbdf6361557 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Jan 17 20:47:01 UTC 2011 Steve Huston + + * ace/Asynch_Acceptor.cpp (handle_accept): If the new handler has + already set its own proactor pointer, don't reset it. Fixes + Bugzilla #3947. + Wed Jan 5 23:10:05 UTC 2011 Steve Huston * tests/Bug_2610_Regression_Test.cpp: Fixed a bunch of ACE_ERROR 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::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_) -- cgit v1.2.1