summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-25 19:57:51 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-25 19:57:51 +0000
commita87cc01c366c9c30910a991e91627e58f1af389b (patch)
tree90ebca589c0548abefe7d54075971f13181e8352
parent796fa166f828decd8be9e24c503f3c4799cca23f (diff)
downloadATCD-Reactor_RefCount_2.tar.gz
ChangeLogTag: Wed Jun 25 15:56:14 2003 Irfan Pyarali <irfan@oomworks.com>Reactor_RefCount_2
-rw-r--r--TAO/tao/Strategies/DIOP_Acceptor.cpp12
-rw-r--r--TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp4
-rw-r--r--TAO/tao/Strategies/UIOP_Connection_Handler.cpp4
-rw-r--r--TAO/tao/Strategies/UIOP_Connection_Handler.h6
4 files changed, 15 insertions, 11 deletions
diff --git a/TAO/tao/Strategies/DIOP_Acceptor.cpp b/TAO/tao/Strategies/DIOP_Acceptor.cpp
index 741c9e3834a..c2a1b198309 100644
--- a/TAO/tao/Strategies/DIOP_Acceptor.cpp
+++ b/TAO/tao/Strategies/DIOP_Acceptor.cpp
@@ -18,8 +18,8 @@
#include "DIOP_Acceptor.i"
#endif /* __ACE_INLINE__ */
-ACE_RCSID (tao,
- DIOP_Acceptor,
+ACE_RCSID (tao,
+ DIOP_Acceptor,
"$Id$")
TAO_DIOP_Acceptor::TAO_DIOP_Acceptor (CORBA::Boolean flag)
@@ -230,11 +230,9 @@ TAO_DIOP_Acceptor::close (void)
this->connection_handler_->reactor ()->remove_handler (this->connection_handler_,
ACE_Event_Handler::READ_MASK);
}
- else
- {
- this->connection_handler_->handle_close (ACE_INVALID_HANDLE,
- ACE_Event_Handler::ALL_EVENTS_MASK);
- }
+
+ this->connection_handler_->remove_reference ();
+
this->connection_handler_ = 0;
}
return 0;
diff --git a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
index 979a0dc9674..1e0bfc48786 100644
--- a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
+++ b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
@@ -171,8 +171,8 @@ TAO_SHMIOP_Connection_Handler::handle_timeout (const ACE_Time_Value &,
}
int
-TAO_SHMIOP_Connection_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask rm)
+TAO_SHMIOP_Connection_Handler::handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
{
ACE_ASSERT (0);
return 0;
diff --git a/TAO/tao/Strategies/UIOP_Connection_Handler.cpp b/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
index 9b7c278e6bb..915c7aa5066 100644
--- a/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
+++ b/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
@@ -154,8 +154,8 @@ TAO_UIOP_Connection_Handler::handle_timeout (const ACE_Time_Value &,
}
int
-TAO_UIOP_Connection_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask rm)
+TAO_UIOP_Connection_Handler::handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
{
ACE_ASSERT (0);
return 0;
diff --git a/TAO/tao/Strategies/UIOP_Connection_Handler.h b/TAO/tao/Strategies/UIOP_Connection_Handler.h
index 1d5e1e212c5..da6216ab196 100644
--- a/TAO/tao/Strategies/UIOP_Connection_Handler.h
+++ b/TAO/tao/Strategies/UIOP_Connection_Handler.h
@@ -87,6 +87,10 @@ public:
virtual int open_handler (void *);
//@}
+ /// Close called by the Acceptor or Connector when connection
+ /// establishment fails.
+ int close (u_long = 0);
+
//@{
/** @name Event Handler overloads
*/
@@ -96,6 +100,8 @@ public:
virtual int handle_input (ACE_HANDLE);
virtual int handle_output (ACE_HANDLE);
virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask);
+ virtual int handle_timeout (const ACE_Time_Value &current_time,
+ const void *act = 0);
//@}