diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2013-04-02 01:38:13 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2013-04-02 01:38:13 +0000 |
commit | b8329f7d98a819e0ba118e563d1106741b22b08f (patch) | |
tree | dbe3cfaf835c5894c6080909af143b53694130ae | |
parent | e100643f5dbd97e02bbac0968cc46c6ca861f075 (diff) | |
download | ATCD-b8329f7d98a819e0ba118e563d1106741b22b08f.tar.gz |
Tue Apr 2 01:37:35 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r-- | TAO/ChangeLog_Asynch_ImR | 7 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp | 10 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp | 12 |
3 files changed, 23 insertions, 6 deletions
diff --git a/TAO/ChangeLog_Asynch_ImR b/TAO/ChangeLog_Asynch_ImR index 12334e45a4f..3fa33dfefd0 100644 --- a/TAO/ChangeLog_Asynch_ImR +++ b/TAO/ChangeLog_Asynch_ImR @@ -1,3 +1,10 @@ +Tue Apr 2 01:37:35 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> + + * orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp: + * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: + + More debugging added for scoreboard processing. + Mon Apr 1 23:52:37 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> * orbsvcs/ImplRepo_Service/AsyncAccessManager.h: diff --git a/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp b/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp index 3d96b272583..1b154a9b523 100644 --- a/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp @@ -163,6 +163,7 @@ AsyncAccessManager::final_state (void) { AsyncAccessManager_ptr aam (this); this->locator_.remove_aam (aam); + aam._retn(); // release w/o decrementing since table held last reference. } } @@ -324,8 +325,8 @@ AsyncAccessManager::add_ref (void) void AsyncAccessManager::remove_ref (void) { - ACE_GUARD (TAO_SYNCH_MUTEX, mon, this->lock_); 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) { delete this; @@ -338,20 +339,24 @@ 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(); @@ -361,6 +366,8 @@ 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) @@ -375,6 +382,7 @@ 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) diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp index c94a248264a..c4957666b0a 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp @@ -509,8 +509,9 @@ ImR_Locator_i::activate_server_i (UpdateableServerInfo& info, AsyncAccessManager *aam_raw; ACE_NEW (aam_raw, AsyncAccessManager (*info, manual_start, *this)); aam = aam_raw; - int result = this->aam_set_.insert (aam); - ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::activate_server_i insert_aam returned %d\n", result)); + ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::activate_server_i calling insert_aam size = %d\n", aam_set_.size())); + int result = this->aam_set_.insert_tail (aam); + ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::activate_server_i after insert_aam size = %d returned %d\n", aam_set_.size(), result)); } } aam->add_interest (rh); @@ -1001,7 +1002,6 @@ ImR_Locator_i::server_is_shutting_down if (*aam != 0) { aam->server_is_shutting_down (); - this->remove_aam (aam); } } info.edit ()->reset (); @@ -1323,8 +1323,10 @@ ImR_Locator_i::root_poa (void) void ImR_Locator_i::remove_aam (AsyncAccessManager_ptr &aam) { - ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::remove_aam called\n")); - this->aam_set_.remove (aam); + ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::remove_aam calling remove\n")); + int result = this->aam_set_.remove (aam); + ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::remove_aam, remove returned %d\n", result)); + } AsyncAccessManager * |