From 30d796a8386c90e2d26c7c6194c4949ca8c0e75d Mon Sep 17 00:00:00 2001 From: Phil Mesnier Date: Fri, 5 Apr 2013 21:22:55 +0000 Subject: Fri Apr 5 21:21:15 UTC 2013 Phil Mesnier --- TAO/ChangeLog_Asynch_ImR | 17 ++ .../ImplRepo_Service/AsyncAccessManager.cpp | 54 +--- TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp | 10 - TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp | 50 +-- .../servers_interact_on_startup/run_test.pl | 2 +- TAO/tao/IORTable/Locate_ResponseHandler.cpp | 336 +-------------------- TAO/tao/IORTable/Locate_ResponseHandler.h | 125 +------- TAO/tao/Messaging/AMH_Response_Handler.cpp | 7 - TAO/tao/Messaging/AMH_Response_Handler.h | 2 - 9 files changed, 41 insertions(+), 562 deletions(-) diff --git a/TAO/ChangeLog_Asynch_ImR b/TAO/ChangeLog_Asynch_ImR index e251b4811c6..39ca187cea7 100644 --- a/TAO/ChangeLog_Asynch_ImR +++ b/TAO/ChangeLog_Asynch_ImR @@ -1,3 +1,20 @@ +Fri Apr 5 21:21:15 UTC 2013 Phil Mesnier + + * orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp: + * orbsvcs/ImplRepo_Service/INS_Locator.cpp: + * orbsvcs/ImplRepo_Service/LiveCheck.cpp: + + * orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl: + + * tao/IORTable/Locate_ResponseHandler.h: + * tao/IORTable/Locate_ResponseHandler.cpp: + + * tao/Messaging/AMH_Response_Handler.h: + * tao/Messaging/AMH_Response_Handler.cpp: + + Clean up some development-level logging. Fixed the memory problems. Continue + testing and validating. + Thu Apr 4 23:15:58 UTC 2013 Phil Mesnier * orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp: diff --git a/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp b/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp index 5a713f9efbe..d596a02fc5d 100644 --- a/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp @@ -20,15 +20,11 @@ AsyncAccessManager::AsyncAccessManager (const Server_Info &info, refcount_(1), lock_() { - ACE_DEBUG ((LM_DEBUG,"AAM(%x), ctor, name = %s\n", - this, info.name.c_str())); this->info_ = new Server_Info (info); } AsyncAccessManager::~AsyncAccessManager (void) { - ACE_DEBUG ((LM_DEBUG, "AAM (%x): dtor, name = %s\n", this, - info_->name.c_str())); delete this->info_; } @@ -42,8 +38,6 @@ bool AsyncAccessManager::has_server (const char *s) { int result = ACE_OS::strcmp (this->info_->name.c_str(),s); - ACE_DEBUG ((LM_DEBUG, "AAM (%x): has_server test, my name = %s, s = %s result = %d\n", - this, info_->name.c_str(), s, result)); return result == 0; } @@ -68,10 +62,6 @@ AsyncAccessManager::add_interest (ImR_ResponseHandler *rh) { this->status_ = AAM_SERVER_READY; this->final_state(); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) AsyncAccessManager::add_interest: ") - ACE_TEXT ("server = <%C>, server is alive\n"), - this->info_->name.c_str())); return; } } @@ -103,11 +93,6 @@ AsyncAccessManager::add_interest (ImR_ResponseHandler *rh) } } } - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) AsyncAccessManager::add_interest: ") - ACE_TEXT ("server = <%C>, status = %d returning\n"), - this->info_->name.c_str(), this->status_)); } void @@ -128,8 +113,6 @@ AsyncAccessManager::final_state (void) { if (this->status_ == AAM_SERVER_READY) { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("(%P|%t) AsyncAccessManager::final_state calling send_ior\n"))); rh->send_ior (this->info_->partial_ior.c_str()); } else @@ -154,7 +137,7 @@ AsyncAccessManager::final_state (void) } catch (CORBA::Exception &ex) { - rh->send_exception (&ex); + rh->send_exception (ex._tao_duplicate()); } } } @@ -185,13 +168,13 @@ AsyncAccessManager::status (AAM_Status s) void AsyncAccessManager::activator_replied (bool success) { - // if (this->locator_.debug() > 0) - // { + if (this->locator_.debug() > 0) + { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) AsyncAccessManager::activator_replied: ") ACE_TEXT ("success = %d, status = %d\n"), success, this->status_)); - // } + } if (success) { this->status (AAM_WAIT_FOR_RUNNING); @@ -213,13 +196,13 @@ AsyncAccessManager::server_is_shutting_down (void) void AsyncAccessManager::server_is_running (const char *partial_ior) { - // if (this->locator_.debug() > 0) - // { + if (this->locator_.debug() > 0) + { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%P|%t) AsyncAccessManager::server_is_running: ") ACE_TEXT ("name = %C, status = %d\n"), this->info_->name.c_str(), this->status_)); - // } + } this->status (AAM_WAIT_FOR_ALIVE); this->info_->partial_ior = partial_ior; @@ -320,16 +303,18 @@ AsyncAccessManager::add_ref (void) ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, mon, this->lock_, 0); ++this->refcount_; - ACE_DEBUG ((LM_DEBUG, "AAM (%x): add_ref count now = %d\n", this, this->refcount_)); return this; } void AsyncAccessManager::remove_ref (void) { - ACE_DEBUG ((LM_DEBUG, "AAM (%x): remove_ref count pre decr = %d\n", this, this->refcount_)); - ACE_GUARD (TAO_SYNCH_MUTEX, mon, this->lock_); - if (--this->refcount_ == 0) + int count = 0; + { + ACE_GUARD (TAO_SYNCH_MUTEX, mon, this->lock_); + count = --this->refcount_; + } + if (count == 0) { delete this; } @@ -341,24 +326,20 @@ AsyncAccessManager::remove_ref (void) AsyncAccessManager_ptr::AsyncAccessManager_ptr (void) : val_ (0) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) ctor default\n", this)); } AsyncAccessManager_ptr::AsyncAccessManager_ptr (AsyncAccessManager *aam) :val_ (aam) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) ctor taking ownership of aam = %x\n", this, aam)); } AsyncAccessManager_ptr::AsyncAccessManager_ptr (const AsyncAccessManager_ptr &aam_ptr) :val_ (aam_ptr.clone()) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) ctor taking ownership of aam_clone = %x\n", this, val_)); } AsyncAccessManager_ptr::~AsyncAccessManager_ptr (void) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) dtor releasing %x\n", this, val_)); if (val_ != 0) { val_->remove_ref(); @@ -368,8 +349,6 @@ AsyncAccessManager_ptr::~AsyncAccessManager_ptr (void) AsyncAccessManager_ptr & AsyncAccessManager_ptr::operator= (const AsyncAccessManager_ptr &aam_ptr) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) assignment releasing %x, taking ownership of aam_clone = %x\n", this, val_, *aam_ptr)); - if (val_ != *aam_ptr) { if (val_ != 0) @@ -384,7 +363,6 @@ AsyncAccessManager_ptr::operator= (const AsyncAccessManager_ptr &aam_ptr) AsyncAccessManager_ptr & AsyncAccessManager_ptr::operator= (AsyncAccessManager *aam) { - ACE_DEBUG ((LM_DEBUG,"AAM_Ptr (%x) assignment releasing %x, taking ownership of aam = %x\n", this, val_, aam)); if (val_ != aam) { if (val_ != 0) @@ -515,20 +493,16 @@ AsyncLiveListener::AsyncLiveListener (const char *server, pinger_ (pinger), status_ (LS_UNKNOWN) { - ACE_DEBUG ((LM_DEBUG, "AsyncLiveListener ctor, this = %x\n", this)); } AsyncLiveListener::~AsyncLiveListener (void) { - ACE_DEBUG ((LM_DEBUG, "AsyncLiveListener dtor, this = %x\n", this)); } bool AsyncLiveListener::start (void) { bool rtn = this->pinger_.add_listener (this); - ACE_DEBUG ((LM_DEBUG, - "AsyncLiveListener::start, add_listener returned %d\n", rtn)); if (!rtn) delete this; return rtn; @@ -544,8 +518,6 @@ AsyncLiveListener::status_changed (LiveStatus status) } else { - ACE_DEBUG ((LM_DEBUG, - "AsyncLiveListener::status_changed, status = %d, deleting(%x)\n", status, this)); this->aam_->ping_replied (status); delete this; } diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp index eb8dcdb7f12..173da901042 100644 --- a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp @@ -75,18 +75,11 @@ INS_Loc_ResponseHandler::INS_Loc_ResponseHandler (const char *key, : key_(key), rh_ (handler) { - CORBA::ORB_var orb = rh_->orb_core()->orb(); - ACE_DEBUG ((LM_DEBUG, "INS_Loc_ResponseHandler ctor, rh_ = %x, orb = %x\n", - rh_.ptr(), orb.ptr())); } void INS_Loc_ResponseHandler::send_ior (const char *pior) { - CORBA::ORB_var orb = rh_->orb_core()->orb(); - ACE_DEBUG ((LM_DEBUG, "INS_Loc_ResponseHandler send_ior, rh_ = %x, orb = %x, key = %s\n", - rh_.ptr(), orb.ptr(), key_.c_str())); - ACE_CString ior = pior; ior += key_; rh_->forward_ior (ior.c_str(), false); @@ -96,9 +89,6 @@ INS_Loc_ResponseHandler::send_ior (const char *pior) void INS_Loc_ResponseHandler::send_exception (CORBA::Exception *ex) { - ACE_DEBUG ((LM_DEBUG, "INS_Loc_ResponseHandler send_exception, rh_ = %x\n", - rh_.ptr())); - delete ex; rh_->raise_excep (CORBA::TRANSIENT (CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0), diff --git a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp index 8e560694b7c..b0d874c2644 100644 --- a/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/LiveCheck.cpp @@ -20,8 +20,7 @@ LiveListener::server (void) const //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- -const int LiveEntry::reping_msec_[] = {0, 10, 100, 500, 1000, 1000, - 1000, 1000, 5000, 5000}; +const int LiveEntry::reping_msec_[] = {10, 100, 500, 1000, 1000, 2000, 2000, 5000, 5000}; int LiveEntry::reping_limit_ = sizeof (LiveEntry::reping_msec_) / sizeof (int); void @@ -71,7 +70,6 @@ LiveEntry::add_listener (LiveListener* ll) { ACE_GUARD (TAO_SYNCH_MUTEX, mon, this->lock_); this->listeners_.insert (ll); - // ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::add_listener\n", this->server_.c_str())); } LiveStatus @@ -101,12 +99,7 @@ LiveEntry::status (LiveStatus l) this->retry_count_ = 0; ACE_Time_Value now (ACE_High_Res_Timer::gettimeofday_hr()); this->next_check_ = now + owner_->ping_interval(); - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::status updating next check to now + %d ms\n", - this->server_.c_str(), - owner_->ping_interval().msec())); } - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::status updating listeners, size = %d\n", - this->server_.c_str(), this->listeners_.size())); Listen_Set remove; @@ -145,8 +138,6 @@ LiveEntry::status (LiveStatus l) if (this->listeners_.size() > 0) { - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::status requesting new ping\n", - this->server_.c_str())); this->owner_->schedule_ping (this); } } @@ -163,30 +154,21 @@ LiveEntry::do_ping (PortableServer::POA_ptr poa) ACE_Time_Value now (ACE_High_Res_Timer::gettimeofday_hr()); if (this->liveliness_ == LS_PING_AWAY || this->listeners_.size() == 0) { - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, ping_away_ is %d, listeners size = %d\n", - this->server_.c_str(), (this->liveliness_ == LS_PING_AWAY), this->listeners_.size())); return false; } if (this->next_check_ > now || this->liveliness_ == LS_DEAD) { ACE_Time_Value diff = next_check_ - now; - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, too soon = %d, nc = %d, now = %d, come back in %d ms, status = %d\n", - this->server_.c_str(), (this->next_check_ > now), this->next_check_.msec(), now.msec(), diff.msec(), liveliness_)); return false; } switch (this->liveliness_) { case LS_UNKNOWN: - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, unknown, seting next_check_ to now\n", - this->server_.c_str())); - this->next_check_ = now; break; case LS_ALIVE: case LS_TIMEDOUT: - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, alive or timed out, seting next_check_ to ping interval\n", - this->server_.c_str())); this->next_check_ = now + owner_->ping_interval(); break; case LS_TRANSIENT: @@ -195,14 +177,10 @@ LiveEntry::do_ping (PortableServer::POA_ptr poa) if (ms != -1) { ACE_Time_Value next (ms / 1000, (ms % 1000) * 1000); - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, transient, adding %d ms (should be %d)\n", - this->server_.c_str(), next.msec(), ms)); this->next_check_ = now + next; } else { - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, transient, but no next\n", - this->server_.c_str())); return false; } } @@ -215,8 +193,6 @@ LiveEntry::do_ping (PortableServer::POA_ptr poa) this->liveliness_ = LS_PING_AWAY; this->retry_count_++; } - ACE_DEBUG ((LM_DEBUG, "LiveEntry(%s)::do_ping, sending ping, retry count = %d\n", - this->server_.c_str(), retry_count_)); PortableServer::ServantBase_var callback = new PingReceiver (this, poa); PortableServer::ObjectId_var oid = poa->activate_object (callback.in()); CORBA::Object_var obj = poa->id_to_reference (oid.in()); @@ -242,7 +218,6 @@ PingReceiver::~PingReceiver (void) void PingReceiver::ping (void) { - ACE_DEBUG ((LM_DEBUG, "PingReceiver::ping\n")); this->entry_->status (LS_ALIVE); PortableServer::ObjectId_var oid = this->poa_->servant_to_id (this); poa_->deactivate_object (oid.in()); @@ -253,7 +228,6 @@ PingReceiver::ping_excep (Messaging::ExceptionHolder * excep_holder) { try { - ACE_DEBUG ((LM_DEBUG, "PingReceiver::ping_excep\n")); excep_holder->raise_exception (); } catch (CORBA::TRANSIENT &ex) @@ -312,8 +286,6 @@ void LiveCheck::init (CORBA::ORB_ptr orb, const ACE_Time_Value &pi ) { - ACE_DEBUG ((LM_DEBUG, "LiveCheck::init (), ping interval = %d ms\n", - pi.msec())); this->ping_interval_ = pi; ACE_Reactor *r = orb->orb_core()->reactor(); this->reactor (r); @@ -337,14 +309,12 @@ LiveCheck::ping_interval (void) const int LiveCheck::handle_timeout (const ACE_Time_Value &, - const void *tok) + const void */*tok*/) { - long token = reinterpret_cast(tok); + // long token = reinterpret_cast(tok); if (!this->running_) return -1; - ACE_DEBUG ((LM_DEBUG, "LiveCheck::handle_timeout (tok = %d) entry_map.size = %d\n", - token, this->entry_map_.current_size())); bool want_reping = false; ACE_Time_Value next; LiveEntryMap::iterator the_end = this->entry_map_.end(); @@ -423,8 +393,6 @@ LiveCheck::handle_timeout (const ACE_Time_Value &, ACE_Time_Value now (ACE_High_Res_Timer::gettimeofday_hr()); ACE_Time_Value delay = next - now; ++this->token_; - ACE_DEBUG ((LM_DEBUG, "LiveCheck::handle_timeout schdeuling next (tok = %d) - in %d ms \n", - this->token_, delay.msec())); this->reactor()->schedule_timer (this, reinterpret_cast(this->token_), delay); } @@ -480,9 +448,6 @@ LiveCheck::add_per_client_listener (LiveListener *l, entry->add_listener (l); ++this->token_; - ACE_DEBUG ((LM_DEBUG, - "LiveCheck::add_per_client_listener schdeuling next (tok = %d) now\n", - this->token_)); this->reactor()->schedule_timer (this, reinterpret_cast(this->token_), ACE_Time_Value::zero); @@ -519,9 +484,6 @@ LiveCheck::schedule_ping (LiveEntry *entry) LiveStatus status = entry->status(); if (status == LS_PING_AWAY || status == LS_DEAD) { - ACE_DEBUG ((LM_DEBUG, - "LiveCheck::schedule_ping ignoring, status = %d\n", - status)); return; } @@ -530,9 +492,6 @@ LiveCheck::schedule_ping (LiveEntry *entry) ++this->token_; if (next <= now) { - ACE_DEBUG ((LM_DEBUG, - "LiveCheck::schedule_ping (tok = %d) - immediate \n", - this->token_)); this->reactor()->schedule_timer (this, reinterpret_cast(this->token_), ACE_Time_Value::zero); @@ -540,9 +499,6 @@ LiveCheck::schedule_ping (LiveEntry *entry) else { ACE_Time_Value delay = next - now; - ACE_DEBUG ((LM_DEBUG, - "LiveCheck::schedule_ping (tok = %d) - in %dms \n", - this->token_, delay.msec())); this->reactor()->schedule_timer (this, reinterpret_cast(this->token_), delay); diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl index e5868a6ffae..00ed208ce2c 100755 --- a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl +++ b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl @@ -307,7 +307,7 @@ sub run_test ##### Wait for clients to terminate ##### print_msg ("Wait for clients to terminate"); for (my $i = 1; $i <= $client_count; $i++) { - if ($CLI[$i]->WaitKill ($cli[$i]->ProcessStopWaitInterval () + $server_reply_delay + 60) == -1) { + if ($CLI[$i]->WaitKill ($cli[$i]->ProcessStopWaitInterval () + $server_reply_delay + 20) == -1) { print STDERR "ERROR: client $i not terminated correctly\n"; $status = 1; } diff --git a/TAO/tao/IORTable/Locate_ResponseHandler.cpp b/TAO/tao/IORTable/Locate_ResponseHandler.cpp index 4f72e2142c0..dc895d3f842 100644 --- a/TAO/tao/IORTable/Locate_ResponseHandler.cpp +++ b/TAO/tao/IORTable/Locate_ResponseHandler.cpp @@ -10,21 +10,14 @@ //============================================================================= #include "Locate_ResponseHandler.h" -#if 0 -#include "tao/DynamicInterface/Request.h" -#include "tao/DynamicInterface/ExceptionList.h" -#include "tao/DynamicInterface/DII_Invocation.h" -#include "tao/DynamicInterface/Server_Request.h" -#endif #include "tao/Exception.h" #include "tao/ORB_Core.h" #include "tao/GIOP_Utils.h" #include "tao/PortableServer/Root_POA.h" -//#include "tao/Valuetype/ValueFactory.h" #include "tao/Object.h" #include "tao/Pluggable_Messaging_Utils.h" -//#include "tao/AnyTypeCode/Any_Impl.h" +#include "tao/TAO_Server_Request.h" #if !defined (__ACE_INLINE__) # include "Locate_ResponseHandler.inl" @@ -32,280 +25,6 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -#if 0 -const char* -TAO_AMH_DSI_Exception_Holder::_tao_obv_static_repository_id () -{ - return "IDL:TAO_AMH_DSI_Exception_Holder:1.0"; -} - -TAO_AMH_DSI_Exception_Holder::TAO_AMH_DSI_Exception_Holder (CORBA::Exception *ex) - : exception_ (ex) -{ -} - -TAO_AMH_DSI_Exception_Holder::~TAO_AMH_DSI_Exception_Holder () -{ -} - -void -tao_TAO_AMH_DSI_Exception_Holder_add_ref (TAO_AMH_DSI_Exception_Holder * p) -{ - CORBA::add_ref (p); -} - -void -tao_TAO_AMH_DSI_Exception_Holder_remove_ref (TAO_AMH_DSI_Exception_Holder * p) -{ - CORBA::remove_ref (p); -} - - -TAO_AMH_DSI_Exception_Holder_var::TAO_AMH_DSI_Exception_Holder_var (void) - : ptr_ (0) -{ -} - -TAO_AMH_DSI_Exception_Holder_var::TAO_AMH_DSI_Exception_Holder_var ( - TAO_AMH_DSI_Exception_Holder * p) - : ptr_ (p) -{ -} - -TAO_AMH_DSI_Exception_Holder_var::TAO_AMH_DSI_Exception_Holder_var ( - const TAO_AMH_DSI_Exception_Holder * p) - : ptr_ (const_cast (p)) -{ -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder_var::ptr (void) const -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder_var::TAO_AMH_DSI_Exception_Holder_var ( - const TAO_AMH_DSI_Exception_Holder_var & p) -{ - CORBA::add_ref (p.ptr ()); - this->ptr_ = p.ptr (); -} - -TAO_AMH_DSI_Exception_Holder_var::~TAO_AMH_DSI_Exception_Holder_var (void) -{ - CORBA::remove_ref (this->ptr_); -} - -TAO_AMH_DSI_Exception_Holder_var & -TAO_AMH_DSI_Exception_Holder_var::operator= (TAO_AMH_DSI_Exception_Holder *p) -{ - CORBA::remove_ref (this->ptr_); - this->ptr_ = p; - return *this; -} - -TAO_AMH_DSI_Exception_Holder_var & -TAO_AMH_DSI_Exception_Holder_var::operator= ( - const TAO_AMH_DSI_Exception_Holder_var & p) -{ - if (this != &p) - { - CORBA::remove_ref (this->ptr_); - TAO_AMH_DSI_Exception_Holder *tmp = p.ptr (); - CORBA::add_ref (tmp); - this->ptr_ = tmp; - } - - return *this; -} - -TAO_AMH_DSI_Exception_Holder_var::operator const TAO_AMH_DSI_Exception_Holder* ( - ) const // cast -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder_var::operator TAO_AMH_DSI_Exception_Holder*& () -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder_var::operator-> (void) const -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder_var::in (void) const -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder *& -TAO_AMH_DSI_Exception_Holder_var::inout (void) -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder *& -TAO_AMH_DSI_Exception_Holder_var::out (void) -{ - CORBA::remove_ref (this->ptr_); - this->ptr_ = 0; - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder_var::_retn (void) -{ - // yield ownership of managed obj reference - TAO_AMH_DSI_Exception_Holder* tmp = this->ptr_; - this->ptr_ = 0; - return tmp; -} - -void -TAO_AMH_DSI_Exception_Holder_var::tao_add_ref (TAO_AMH_DSI_Exception_Holder *p) -{ - CORBA::add_ref (p); -} - -void -TAO_AMH_DSI_Exception_Holder_var::tao_remove_ref ( - TAO_AMH_DSI_Exception_Holder *p) -{ - CORBA::remove_ref (p); -} - -TAO_AMH_DSI_Exception_Holder_out::TAO_AMH_DSI_Exception_Holder_out ( - TAO_AMH_DSI_Exception_Holder * &p) - : ptr_ (p) -{ - this->ptr_ = 0; -} - -TAO_AMH_DSI_Exception_Holder_out::TAO_AMH_DSI_Exception_Holder_out ( - TAO_AMH_DSI_Exception_Holder_var & p) - : ptr_ (p.out ()) -{ - CORBA::remove_ref (this->ptr_); - this->ptr_ = 0; -} - -TAO_AMH_DSI_Exception_Holder_out::TAO_AMH_DSI_Exception_Holder_out ( - const TAO_AMH_DSI_Exception_Holder_out &p) - : ptr_ (const_cast (p).ptr_) -{} - -TAO_AMH_DSI_Exception_Holder_out & -TAO_AMH_DSI_Exception_Holder_out::operator= ( - const TAO_AMH_DSI_Exception_Holder_out &p) -{ - this->ptr_ = const_cast (p).ptr_; - return *this; -} - -TAO_AMH_DSI_Exception_Holder_out & -TAO_AMH_DSI_Exception_Holder_out::operator= ( - const TAO_AMH_DSI_Exception_Holder_var &p) -{ - TAO_AMH_DSI_Exception_Holder *tmp = p.ptr (); - CORBA::add_ref (tmp); - this->ptr_ = tmp; - return *this; -} - -TAO_AMH_DSI_Exception_Holder_out & -TAO_AMH_DSI_Exception_Holder_out::operator= (TAO_AMH_DSI_Exception_Holder *p) -{ - this->ptr_ = p; - return *this; -} - -TAO_AMH_DSI_Exception_Holder_out::operator TAO_AMH_DSI_Exception_Holder*& () -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder *& -TAO_AMH_DSI_Exception_Holder_out::ptr (void) // ptr -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder_out::operator-> (void) -{ - return this->ptr_; -} - -TAO_AMH_DSI_Exception_Holder * -TAO_AMH_DSI_Exception_Holder::_downcast (CORBA::ValueBase * v) -{ - return dynamic_cast < TAO_AMH_DSI_Exception_Holder * >(v); -} - -const char * -TAO_AMH_DSI_Exception_Holder::_tao_obv_repository_id (void) const -{ - return this->_tao_obv_static_repository_id (); -} - -void -TAO_AMH_DSI_Exception_Holder::_tao_any_destructor (void *_tao_void_pointer) -{ - TAO_AMH_DSI_Exception_Holder *tmp = - static_cast (_tao_void_pointer); - delete tmp; -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_unmarshal ( - TAO_InputCDR &strm, - TAO_AMH_DSI_Exception_Holder *&new_object) -{ - ::CORBA::ValueBase *base = 0; - ::CORBA::Boolean is_indirected = 0; - ::CORBA::Boolean is_null_object = 0; - ::CORBA::Boolean const retval = - ::CORBA::ValueBase::_tao_unmarshal_pre ( - strm, - base, - TAO_AMH_DSI_Exception_Holder::_tao_obv_static_repository_id (), - is_null_object, - is_indirected - ); - - ::CORBA::ValueBase_var owner (base); - - if (!retval) - return 0; - - if (is_null_object) - return 1; - - if (!is_indirected && base != 0 && ! base->_tao_unmarshal_v (strm)) - return 0; - - - // Now base must be null or point to the unmarshaled object. - // Align the pointer to the right subobject. - new_object = TAO_AMH_DSI_Exception_Holder::_downcast (base); - if (is_indirected) - new_object->_add_ref (); - - owner._retn (); - return 1; -} - -void -TAO_AMH_DSI_Exception_Holder::raise_invoke () -{ - this->exception_->_raise (); -} -#endif - // The pseudo-object _nil method. TAO_AMH_Locate_ResponseHandler_ptr TAO_AMH_Locate_ResponseHandler::_nil (void) @@ -316,7 +35,8 @@ TAO_AMH_Locate_ResponseHandler::_nil (void) TAO_AMH_Locate_ResponseHandler::TAO_AMH_Locate_ResponseHandler ( TAO_ServerRequest & sr) - : TAO_AMH_Response_Handler () + : TAO_AMH_Response_Handler (), + orb_ (sr.orb()) { this->init (sr,0); } @@ -334,8 +54,7 @@ TAO_AMH_Locate_ResponseHandler::raise_excep (const CORBA::Exception &ex) void TAO_AMH_Locate_ResponseHandler::forward_ior (const char *ior, CORBA::Boolean is_perm) { - CORBA::ORB_var orb = this->orb_core_->orb(); - CORBA::Object_var fwd = orb->string_to_object (ior); + CORBA::Object_var fwd = this->orb_->string_to_object (ior); this->_tao_rh_send_location_forward (fwd, is_perm); } @@ -367,52 +86,5 @@ TAO_AMH_Locate_ResponseHandler::_interface_repository_id (void) const return 0; } -#if 0 - -CORBA::TypeCode_ptr -TAO_AMH_DSI_Exception_Holder::_tao_type (void) const -{ - return 0; -} - -void -TAO_AMH_DSI_Exception_Holder::_tao_obv_truncatable_repo_ids ( - Repository_Id_List &) const -{ -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_match_formal_type (ptrdiff_t ) const -{ - return false; -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_marshal_v (TAO_OutputCDR &) const -{ - return true; -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_unmarshal_v (TAO_InputCDR &) -{ - return true; -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_marshal__Test_TAO_AMH_DSI_Exception_Holder ( - TAO_OutputCDR &) -{ - return true; -} - -CORBA::Boolean -TAO_AMH_DSI_Exception_Holder::_tao_unmarshal__Test_TAO_AMH_DSI_Exception_Holder ( - TAO_InputCDR &) -{ - return true; -} - -#endif TAO_END_VERSIONED_NAMESPACE_DECL diff --git a/TAO/tao/IORTable/Locate_ResponseHandler.h b/TAO/tao/IORTable/Locate_ResponseHandler.h index 49d9f69ce2f..8354e053cb2 100644 --- a/TAO/tao/IORTable/Locate_ResponseHandler.h +++ b/TAO/tao/IORTable/Locate_ResponseHandler.h @@ -27,6 +27,7 @@ #include "tao/Versioned_Namespace.h" #include "tao/Messaging/AMH_Response_Handler.h" #include "tao/Valuetype/ValueBase.h" +#include "tao/ORB.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -36,7 +37,7 @@ namespace CORBA } class TAO_AMH_Locate_ResponseHandler; -typedef + typedef TAO_AMH_Locate_ResponseHandler *TAO_AMH_Locate_ResponseHandler_ptr; /** @@ -75,126 +76,6 @@ private: TAO_AMH_Locate_ResponseHandler_ptr ptr_; }; -#if 0 -class TAO_AMH_Locate_Exception_Holder; -typedef TAO_AMH_Locate_Exception_Holder *TAO_AMH_Locate_Exception_Holder_ptr; - -/** - * @class TAO_AMH_Locate_Exception_Holder_var - * - * @brief The T_var class for exception holder - * - * As any other pseudo object, this class has a T_var class too. - * - */ -class TAO_IORTable_Export TAO_AMH_Locate_Exception_Holder_var -{ -public: - TAO_AMH_Locate_Exception_Holder_var (void); - TAO_AMH_Locate_Exception_Holder_var (TAO_AMH_Locate_Exception_Holder*); - TAO_AMH_Locate_Exception_Holder_var (const TAO_AMH_Locate_Exception_Holder*); - TAO_AMH_Locate_Exception_Holder_var (const TAO_AMH_Locate_Exception_Holder_var &); - ~TAO_AMH_Locate_Exception_Holder_var (void); - - TAO_AMH_Locate_Exception_Holder_var &operator= (TAO_AMH_Locate_Exception_Holder*); - TAO_AMH_Locate_Exception_Holder_var &operator= ( - const TAO_AMH_Locate_Exception_Holder_var &); - TAO_AMH_Locate_Exception_Holder* operator-> (void) const; - - operator const TAO_AMH_Locate_Exception_Holder* () const; - operator TAO_AMH_Locate_Exception_Holder*& (); - - TAO_AMH_Locate_Exception_Holder* in (void) const; - TAO_AMH_Locate_Exception_Holder*& inout (void); - TAO_AMH_Locate_Exception_Holder*& out (void); - TAO_AMH_Locate_Exception_Holder* _retn (void); - TAO_AMH_Locate_Exception_Holder* ptr (void) const; - - // Hooks used by template sequence and valuetype manager classes - // for non-defined forward declared valuetypes. - static void tao_add_ref (TAO_AMH_Locate_Exception_Holder *); - static void tao_remove_ref (TAO_AMH_Locate_Exception_Holder *); - -private: - TAO_AMH_Locate_Exception_Holder* ptr_; -}; - -/** - * @class TAO_AMH_Locate_Exception_Holder_out - * - * @brief The T_out class for exception holder - * - */ -class TAO_IORTable_Export TAO_AMH_Locate_Exception_Holder_out -{ -public: - TAO_AMH_Locate_Exception_Holder_out (TAO_AMH_Locate_Exception_Holder* &); - TAO_AMH_Locate_Exception_Holder_out (TAO_AMH_Locate_Exception_Holder_var &); - TAO_AMH_Locate_Exception_Holder_out (const TAO_AMH_Locate_Exception_Holder_out &); - TAO_AMH_Locate_Exception_Holder_out &operator= ( - const TAO_AMH_Locate_Exception_Holder_out &); - TAO_AMH_Locate_Exception_Holder_out &operator= ( - const TAO_AMH_Locate_Exception_Holder_var &); - TAO_AMH_Locate_Exception_Holder_out &operator= ( - TAO_AMH_Locate_Exception_Holder*); - operator TAO_AMH_Locate_Exception_Holder*& (); - TAO_AMH_Locate_Exception_Holder*& ptr (void); - TAO_AMH_Locate_Exception_Holder* operator-> (void); - -private: - TAO_AMH_Locate_Exception_Holder* &ptr_; -}; - -/** - * @class TAO_AMH_Locate_Exception_Holder - * - * @brief This is the class for holding exception. - * - */ -class TAO_IORTable_Export TAO_AMH_Locate_Exception_Holder - : public virtual CORBA::DefaultValueRefCountBase, - public virtual CORBA::ValueBase -{ -public: - typedef TAO_AMH_Locate_Exception_Holder_var _var_type; - TAO_AMH_Locate_Exception_Holder (CORBA::Exception *ex); - - virtual ~TAO_AMH_Locate_Exception_Holder (void); - - static TAO_AMH_Locate_Exception_Holder* _downcast ( CORBA::ValueBase* ); - - static CORBA::Boolean _tao_unmarshal ( TAO_InputCDR &, - TAO_AMH_Locate_Exception_Holder *& ); - virtual const char* _tao_obv_repository_id (void) const; - static const char* _tao_obv_static_repository_id (void); - - static void _tao_any_destructor (void *); - - virtual void raise_invoke ( ); - - CORBA::TypeCode_ptr _tao_type (void) const; - void _tao_obv_truncatable_repo_ids (Repository_Id_List &) const; - CORBA::Boolean _tao_match_formal_type (ptrdiff_t ) const; - -protected: - TAO_AMH_Locate_Exception_Holder (void); - /// *** Terrible Hack ? *** - virtual CORBA::Boolean _tao_marshal_v (TAO_OutputCDR &) const; - virtual CORBA::Boolean _tao_unmarshal_v (TAO_InputCDR &); - -private: - TAO_AMH_Locate_Exception_Holder (const TAO_AMH_Locate_Exception_Holder &); - void operator= (const TAO_AMH_Locate_Exception_Holder &); - CORBA::Exception *exception_; - -protected: - virtual CORBA::Boolean _tao_marshal__Test_TAO_AMH_Locate_Exception_Holder ( - TAO_OutputCDR &); - virtual CORBA::Boolean _tao_unmarshal__Test_TAO_AMH_Locate_Exception_Holder ( - TAO_InputCDR &); -}; - -#endif /** * @class TAO_AMH_Locate_ResponseHandler @@ -250,7 +131,7 @@ protected: virtual void *_downcast (const char *repository_id); private: - TAO_ORB_Core *orb_core_; + CORBA::ORB_var orb_; }; diff --git a/TAO/tao/Messaging/AMH_Response_Handler.cpp b/TAO/tao/Messaging/AMH_Response_Handler.cpp index 8ef72f378fe..bf2ea0b9bbd 100644 --- a/TAO/tao/Messaging/AMH_Response_Handler.cpp +++ b/TAO/tao/Messaging/AMH_Response_Handler.cpp @@ -77,7 +77,6 @@ TAO_AMH_Response_Handler::init(TAO_ServerRequest &server_request, response_expected_ = server_request.response_expected_; transport_ = server_request.transport (); orb_core_ = server_request.orb_core (); - ACE_DEBUG ((LM_DEBUG, "AMH_Response_Handler::init, orb_core_ = %x\n", orb_core_)); allocator_ = allocator; TAO_GIOP_Message_Version v; @@ -87,12 +86,6 @@ TAO_AMH_Response_Handler::init(TAO_ServerRequest &server_request, this->transport_->add_reference (); } -TAO_ORB_Core * -TAO_AMH_Response_Handler::orb_core (void) const -{ - return this->orb_core_; -} - void TAO_AMH_Response_Handler::_tao_rh_init_reply (void) { diff --git a/TAO/tao/Messaging/AMH_Response_Handler.h b/TAO/tao/Messaging/AMH_Response_Handler.h index 0b4218679ae..36886d31c87 100644 --- a/TAO/tao/Messaging/AMH_Response_Handler.h +++ b/TAO/tao/Messaging/AMH_Response_Handler.h @@ -89,8 +89,6 @@ public: virtual void _remove_ref (void); //@} - TAO_ORB_Core *orb_core (void) const; - protected: /// Sets up the various parameters in anticipation of returning a reply -- cgit v1.2.1