summaryrefslogtreecommitdiff
path: root/TAO/tao/Connection_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Connection_Handler.cpp')
-rw-r--r--TAO/tao/Connection_Handler.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/TAO/tao/Connection_Handler.cpp b/TAO/tao/Connection_Handler.cpp
index 08299dcdc6b..36477ce9e8e 100644
--- a/TAO/tao/Connection_Handler.cpp
+++ b/TAO/tao/Connection_Handler.cpp
@@ -10,6 +10,7 @@
#include "ace/SOCK.h"
#include "ace/Reactor.h"
#include "ace/os_include/sys/os_socket.h"
+#include "ace/Svc_Handler.h"
//@@ CONNECTION_HANDLER_SPL_INCLUDE_FORWARD_DECL_ADD_HOOK
@@ -442,8 +443,9 @@ TAO_Connection_Handler::close_handler (u_long flags)
transport->purge_entry();
// We only need to remove the reference from the transport if there
- // were connections pending at the time that the handler is closed.
- if (pending || ACE_BIT_DISABLED(flags, 1))
+ // were connections pending at the time that the handler is closed or
+ // the handler is being closed during a new connection.
+ if (pending || ACE_BIT_DISABLED(flags, CLOSE_DURING_NEW_CONNECTION))
transport->remove_reference ();
return 0;