summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2013-04-02 01:38:13 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2013-04-02 01:38:13 +0000
commitb8329f7d98a819e0ba118e563d1106741b22b08f (patch)
treedbe3cfaf835c5894c6080909af143b53694130ae
parente100643f5dbd97e02bbac0968cc46c6ca861f075 (diff)
downloadATCD-b8329f7d98a819e0ba118e563d1106741b22b08f.tar.gz
Tue Apr 2 01:37:35 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r--TAO/ChangeLog_Asynch_ImR7
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/AsyncAccessManager.cpp10
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp12
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 *