summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog-98b10
-rw-r--r--ace/Message_Queue_T.i2
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog-98b b/ChangeLog-98b
index d239f7932f8..647e3cda01e 100644
--- a/ChangeLog-98b
+++ b/ChangeLog-98b
@@ -1,3 +1,13 @@
+Wed Aug 5 11:07:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * ace/Message_Queue_T.i: Changed the computation of is_empty_() so
+ that it doesn't consider the queue to be empty unless the
+ cur_bytes_ <= the low_water_mark_ (which defaults to 0 so that
+ no existing code is affected). This change makes it possible
+ for producer/consumer threading applications to avoid the "silly
+ window syndrome." Thanks to Umar Syyid <usyyid@hns.com> for
+ suggesting this.
+
Wed Aug 05 00:10:27 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (strnstr (both Unicode and Multibyte versions)):
diff --git a/ace/Message_Queue_T.i b/ace/Message_Queue_T.i
index e2f7878c0a2..b26290cca81 100644
--- a/ace/Message_Queue_T.i
+++ b/ace/Message_Queue_T.i
@@ -23,7 +23,7 @@ template <ACE_SYNCH_DECL> ACE_INLINE int
ACE_Message_Queue<ACE_SYNCH_USE>::is_empty_i (void)
{
ACE_TRACE ("ACE_Message_Queue<ACE_SYNCH_USE>::is_empty_i");
- return this->cur_bytes_ <= 0 && this->cur_count_ <= 0;
+ return this->cur_bytes_ <= this->low_water_mark_ && this->cur_count_ <= 0;
}
// Check if queue is full (does not hold locks).