summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-10-16 17:46:10 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-10-16 17:46:10 +0000
commitdfdf1a5b0bd8e60aa2e90f702d64e67269879117 (patch)
treed26f4dce45865b1492ae31271cc2dd5bdacedc96
parent93dee905cd352d5de01616af17266dd9c017467d (diff)
downloadATCD-dfdf1a5b0bd8e60aa2e90f702d64e67269879117.tar.gz
ChangeLogTag:Thu Oct 16 12:42:59 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref11
-rw-r--r--TAO/tao/LocateRequest_Invocation_Adapter.cpp4
-rw-r--r--TAO/tao/Profile_Transport_Resolver.h1
-rw-r--r--TAO/tao/Profile_Transport_Resolver.inl8
4 files changed, 22 insertions, 2 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index 304763ad676..eead9b90859 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,14 @@
+Thu Oct 16 12:42:59 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/LocateRequest_Invocation_Adapter.cpp:
+ get_inconsistent_policies (), now returns _retn () instead of
+ .out () on the PolicyList_var.
+
+ * tao/Profile_Transport_Resolver.h:
+ * tao/Profile_Transport_Resolver.inl: Added a new method
+ steal_inconsistent_policies () which makes this object to loose
+ ownership of the PolicyList pointer.
+
Thu Oct 16 11:31:45 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tao/LocateRequest_Invocation_Adapter.cpp: Initialize the
diff --git a/TAO/tao/LocateRequest_Invocation_Adapter.cpp b/TAO/tao/LocateRequest_Invocation_Adapter.cpp
index 69c4e8c5b24..332e9e79dee 100644
--- a/TAO/tao/LocateRequest_Invocation_Adapter.cpp
+++ b/TAO/tao/LocateRequest_Invocation_Adapter.cpp
@@ -81,7 +81,7 @@ namespace TAO
ACE_CATCH (CORBA::INV_POLICY, ex)
{
this->list_ =
- resolver.inconsistent_policies ();
+ resolver.steal_inconsistent_policies ();
ACE_RE_THROW;
}
ACE_CATCHANY
@@ -98,7 +98,7 @@ namespace TAO
CORBA::PolicyList *
LocateRequest_Invocation_Adapter::get_inconsistent_policies (void)
{
- return this->list_.out ();
+ return this->list_._retn ();
}
bool
diff --git a/TAO/tao/Profile_Transport_Resolver.h b/TAO/tao/Profile_Transport_Resolver.h
index 23d7cc21b0f..380a69c9872 100644
--- a/TAO/tao/Profile_Transport_Resolver.h
+++ b/TAO/tao/Profile_Transport_Resolver.h
@@ -118,6 +118,7 @@ namespace TAO
CORBA::PolicyList *inconsistent_policies (void) const;
+ CORBA::PolicyList *steal_inconsistent_policies (void);
private:
/// Helper method to access get the connection timeout from the
diff --git a/TAO/tao/Profile_Transport_Resolver.inl b/TAO/tao/Profile_Transport_Resolver.inl
index b5461a23800..3314fa6354d 100644
--- a/TAO/tao/Profile_Transport_Resolver.inl
+++ b/TAO/tao/Profile_Transport_Resolver.inl
@@ -37,4 +37,12 @@ namespace TAO
{
return this->inconsistent_policies_;
}
+
+ ACE_INLINE CORBA::PolicyList *
+ Profile_Transport_Resolver::steal_inconsistent_policies (void)
+ {
+ CORBA::PolicyList *tmp = this->inconsistent_policies_;
+ this->inconsistent_policies_ = 0;
+ return tmp;
+ }
}