diff options
author | Steve Huston <shuston@riverace.com> | 2011-01-17 20:57:26 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2011-01-17 20:57:26 +0000 |
commit | f47ce30d9c49394988e8c72adefea2e29b1f2fd6 (patch) | |
tree | b9a55396d06c68120ec6fe6e7e665a0b414509bf | |
parent | 77b2a336f5aa6c708b26f91e859ee5880a9390dc (diff) | |
download | ATCD-f47ce30d9c49394988e8c72adefea2e29b1f2fd6.tar.gz |
ChangeLogTag:Mon Jan 17 20:47:01 UTC 2011 Steve Huston <shuston@riverace.com>
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | 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 <shuston@riverace.com> + + * 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 <shuston@riverace.com> * 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<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_) |