summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLog-99c12
-rw-r--r--TAO/tao/Reply_Dispatcher.cpp3
-rw-r--r--TAO/tao/Stub.cpp9
3 files changed, 19 insertions, 5 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index 7a9f5e03bcb..5f987e75436 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,3 +1,15 @@
+Wed Jul 14 16:23:56 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tao/Reply_Dispatcher.cpp:
+ Use new CDR_Stream methods to efficiently steal the contents
+ from one CDR stream into another (without any extra memory
+ allocations).
+
+ * tao/Stub.cpp:
+ Removed unnecesary lock, updated comments in
+ relative_rountrip_timeout() with respect to locking because it
+ is a bit suttle.
+
Wed Jul 14 15:35:51 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* tao/ORB.cpp: set_unexpected() is declared in unexpect.h on MVS.
diff --git a/TAO/tao/Reply_Dispatcher.cpp b/TAO/tao/Reply_Dispatcher.cpp
index 372cc7e3061..54de0dc3963 100644
--- a/TAO/tao/Reply_Dispatcher.cpp
+++ b/TAO/tao/Reply_Dispatcher.cpp
@@ -68,8 +68,7 @@ TAO_Synch_Reply_Dispatcher::dispatch_reply (CORBA::ULong reply_status,
this->reply_ctx_.replace (max, len, context_list, 1);
// Steal the buffer so that no copying is done.
- this->reply_cdr_.reset (message_state->cdr.steal_contents (),
- message_state->cdr.byte_order ());
+ this->reply_cdr_.steal_from (message_state->cdr);
return 1;
}
diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp
index 811bf08043d..339b5847181 100644
--- a/TAO/tao/Stub.cpp
+++ b/TAO/tao/Stub.cpp
@@ -834,14 +834,14 @@ TAO_Stub::get_client_policy (
POA_Messaging::RelativeRoundtripTimeoutPolicy*
TAO_Stub::relative_roundtrip_timeout (void)
{
- ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, guard,
- this->refcount_lock_,
- 0);
+ // No need to lock, the stub only changes its policies at
+ // construction time...
POA_Messaging::RelativeRoundtripTimeoutPolicy* result = 0;
if (this->policies_ != 0)
result = this->policies_->relative_roundtrip_timeout ();
+ // No need to lock, the object is in TSS storage....
if (result == 0)
{
TAO_Policy_Current &policy_current =
@@ -849,6 +849,9 @@ TAO_Stub::relative_roundtrip_timeout (void)
result = policy_current.relative_roundtrip_timeout ();
}
+ // @@ Must lock, but is is harder to implement than just modifying
+ // this call: the ORB does take a lock to modify the policy
+ // manager
if (result == 0)
{
TAO_Policy_Manager *policy_manager =