diff options
author | Adam Mitz <mitza-oci@users.noreply.github.com> | 2006-08-10 18:02:05 +0000 |
---|---|---|
committer | Adam Mitz <mitza-oci@users.noreply.github.com> | 2006-08-10 18:02:05 +0000 |
commit | d37f2560677d32e42ba97fec292a6c021a89f0a5 (patch) | |
tree | 9a2a2cda375e703338f6fb52b4ca7e220ecbb5c0 | |
parent | 02b6be8e9fc42875d428cda382627512f6c04a53 (diff) | |
download | ATCD-OCI_Oneway_Buffering.tar.gz |
fix for the stream corruption problemOCI_Oneway_Buffering
-rw-r--r-- | TAO/tao/Asynch_Queued_Message.cpp | 16 | ||||
-rw-r--r-- | TAO/tao/Transport.cpp | 3 | ||||
-rwxr-xr-x | TAO/tests/Timed_Buffered_Oneways/run_test.pl | 8 |
3 files changed, 8 insertions, 19 deletions
diff --git a/TAO/tao/Asynch_Queued_Message.cpp b/TAO/tao/Asynch_Queued_Message.cpp index cbdd57b7e08..d21cc0a65ca 100644 --- a/TAO/tao/Asynch_Queued_Message.cpp +++ b/TAO/tao/Asynch_Queued_Message.cpp @@ -193,20 +193,12 @@ TAO_Asynch_Queued_Message::destroy (void) bool TAO_Asynch_Queued_Message::is_expired (const ACE_Time_Value &now) const { - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - Asynch_Queued_Message::is_expired - " - "Age of message is <%dms> this = %x.\n", - (now - this->abs_timeout_).msec (), this)); - if (this->offset_ > 0) - { - // This debug is for testing purposes! - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - Asynch_Queued_Message::is_expired - " - "Can't expire message due to partial send. \n")); - return false; //never expire partial messages - } if (this->abs_timeout_ > ACE_Time_Value::zero) { + if (this->offset_ > 0) + { + return false; //never expire partial messages + } return this->abs_timeout_ < now; } return false; diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp index b132d4ee612..3fcb0b164a9 100644 --- a/TAO/tao/Transport.cpp +++ b/TAO/tao/Transport.cpp @@ -962,11 +962,12 @@ TAO_Transport::drain_queue_i (void) ACE_TEXT ("Discarding expired queued message.\n"), this->id ())); } + TAO_Queued_Message *next = i->next (); i->state_changed (TAO_LF_Event::LFS_TIMEOUT, this->orb_core_->leader_follower ()); i->remove_from_list (this->head_, this->tail_); i->destroy (); - i = this->head_; + i = next; continue; } // ... each element fills the iovector ... diff --git a/TAO/tests/Timed_Buffered_Oneways/run_test.pl b/TAO/tests/Timed_Buffered_Oneways/run_test.pl index 16ef5e32ab3..a9d9fa6b607 100755 --- a/TAO/tests/Timed_Buffered_Oneways/run_test.pl +++ b/TAO/tests/Timed_Buffered_Oneways/run_test.pl @@ -17,13 +17,9 @@ if (PerlACE::is_vxworks_test()) { $SV = new PerlACE::ProcessVX ("server", "-o server.ior"); } else { - $SV = new PerlACE::Process ("server", "-o $iorfile" -." -ORBDebugLevel 6 -ORBLogFile server.log" -); + $SV = new PerlACE::Process ("server", "-o $iorfile"); } -$CL = new PerlACE::Process ("client", "-k file://$iorfile -x" -." -ORBDebugLevel 6 -ORBLogFile client.log" -); +$CL = new PerlACE::Process ("client", "-k file://$iorfile -x"); $SV->Spawn (); |