diff options
author | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-03 23:54:28 +0000 |
---|---|---|
committer | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-03 23:54:28 +0000 |
commit | 5c799f507c0b741473a32eaafbc47ad18cf90b14 (patch) | |
tree | 6562f885e518069c86b4f4377872b3c43b340c9f /TAO/tao/Acceptor_Impl.cpp | |
parent | 4531c0210dd75bccba0fc1ffa6264e1e7c5ef831 (diff) | |
download | ATCD-5c799f507c0b741473a32eaafbc47ad18cf90b14.tar.gz |
Tue Aug 03 18:40:47 1999 Kirthika Parameswaran
<kirthika@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Acceptor_Impl.cpp')
-rw-r--r-- | TAO/tao/Acceptor_Impl.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/TAO/tao/Acceptor_Impl.cpp b/TAO/tao/Acceptor_Impl.cpp index 6a6493049ce..fa123ff5473 100644 --- a/TAO/tao/Acceptor_Impl.cpp +++ b/TAO/tao/Acceptor_Impl.cpp @@ -133,11 +133,29 @@ TAO_Accept_Strategy<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::out_of_sockets_handler (v // connection cache maintained by the connectors in the // connector registry. if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "Purging connections from Connectors in Connector Registry...\n")); - - return this->orb_core_->connector_registry ()->purge_connections (); + ACE_DEBUG ((LM_DEBUG, + "Purging connections from Connectors in Connector Registry of all ORBs...\n")); + + ACE_MT (ACE_GUARD_RETURN (ACE_SYNCH_RECURSIVE_MUTEX, guard, + *ACE_Static_Object_Lock::instance (), 0)); + + TAO_ORB_Table *table = TAO_ORB_Table::instance (); + TAO_ORB_Table::Iterator end = table->end (); + for (TAO_ORB_Table::Iterator iterator = table->begin (); + iterator != end; + ++iterator) + { + TAO_ORB_Core *orb_core = (*iterator).int_id_; + + int result = orb_core->connector_registry ()->purge_connections (); + + if (result != 0) + return result; + } + + return 0; } - + return -1; } |