summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-09 07:44:49 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-09 07:44:49 +0000
commit7ae0b01904341fd5c1421123b9397927718384a0 (patch)
tree041de0310cf2ae468de4d090776d56896e8918a7
parent1409b44bb54c0845485dcfedfcbea3d548e50900 (diff)
downloadATCD-7ae0b01904341fd5c1421123b9397927718384a0.tar.gz
ChangeLogTag:Mon Apr 09 00:41:20 2001 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a13
-rw-r--r--TAO/tao/Invocation.cpp6
-rw-r--r--TAO/tao/Reactive_Flushing_Strategy.cpp8
-rw-r--r--TAO/tao/Transport.cpp12
4 files changed, 31 insertions, 8 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 92f44ec032a..e4a1315b0f4 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,16 @@
+Mon Apr 09 00:41:20 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/Invocation.cpp:
+ The default scope should be SYNC_WITH_TRANSPORT, but was
+ overriden and became SYNC_NONE.
+
+ * tao/Reactive_Flushing_Strategy.cpp:
+ Fixed conditions to terminate the loop.
+
+ * tao/Transport.cpp:
+ Initialize byte_count to zero before calling send(), add more
+ ACE_ASSERT() calls to debug the system.
+
Sat Apr 7 21:13:48 2001 Carlos O'Ryan <coryan@uci.edu>
* tao/Transport.cpp:
diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp
index 2970dc187ae..5b6acc32b48 100644
--- a/TAO/tao/Invocation.cpp
+++ b/TAO/tao/Invocation.cpp
@@ -939,7 +939,7 @@ TAO_GIOP_Oneway_Invocation::TAO_GIOP_Oneway_Invocation (
sync_scope_ (TAO::SYNC_WITH_TRANSPORT)
{
int has_synchronization = 0;
- int scope = 0;
+ int scope = this->sync_scope_;
this->orb_core_->call_sync_scope_hook (this->stub_,
has_synchronization,
scope);
@@ -970,6 +970,10 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV)
{
return TAO_GIOP_Invocation::invoke (0, ACE_TRY_ENV);
}
+ if (this->sync_scope_ == TAO::SYNC_WITH_TRANSPORT)
+ {
+ return TAO_GIOP_Invocation::invoke (1, ACE_TRY_ENV);
+ }
int retval = this->invoke_i (0, ACE_TRY_ENV);
ACE_CHECK_RETURN (TAO_INVOKE_EXCEPTION);
diff --git a/TAO/tao/Reactive_Flushing_Strategy.cpp b/TAO/tao/Reactive_Flushing_Strategy.cpp
index 8add2b98b36..8bf90a36a1d 100644
--- a/TAO/tao/Reactive_Flushing_Strategy.cpp
+++ b/TAO/tao/Reactive_Flushing_Strategy.cpp
@@ -25,15 +25,15 @@ int
TAO_Reactive_Flushing_Strategy::flush_message (TAO_Transport *transport,
TAO_Queued_Message *msg)
{
- TAO_ORB_Core *orb_core = transport->orb_core ();
-
int result = 0;
+
// @@ Should we pass this down? Can we?
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- while (!msg->all_data_sent ()
- && result > 0)
+ TAO_ORB_Core *orb_core = transport->orb_core ();
+
+ while (!msg->all_data_sent () && result >= 0)
{
result = orb_core->run (0, 1, ACE_TRY_ENV);
ACE_TRY_CHECK;
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 68893083f9a..19fc4c2366b 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -413,7 +413,12 @@ TAO_Transport::send_synchronous_message_i (TAO_Stub *stub,
if (n == -1)
return -1; // Error while sending...
else if (n == 1)
- return 1; // Empty queue, message was sent..
+ {
+ ACE_ASSERT (synch_message.all_data_sent ());
+ ACE_ASSERT (synch_message.next () == 0);
+ ACE_ASSERT (synch_message.prev () == 0);
+ return 1; // Empty queue, message was sent..
+ }
ACE_ASSERT (n == 0); // Some data sent, but data remains.
@@ -439,6 +444,7 @@ TAO_Transport::send_synchronous_message_i (TAO_Stub *stub,
&synch_message);
}
+ ACE_ASSERT (synch_message.all_data_sent () != 0);
ACE_ASSERT (synch_message.next () == 0);
ACE_ASSERT (synch_message.prev () == 0);
return result;
@@ -764,7 +770,7 @@ TAO_Transport::drain_queue_i (void)
// IOV_MAX elements ...
if (iovcnt == IOV_MAX)
{
- size_t byte_count;
+ size_t byte_count = 0;
// ... send the message ...
ssize_t retval =
@@ -804,7 +810,7 @@ TAO_Transport::drain_queue_i (void)
i = i->next ();
}
- size_t byte_count;
+ size_t byte_count = 0;
ssize_t retval =
this->send (iov, iovcnt, byte_count);