summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2001-08-20 19:36:36 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2001-08-20 19:36:36 +0000
commitbedf2a66ce103b150c9b6725dd9a045f292dd9e7 (patch)
treecdd3a9be2353ea4a037ccb13f625620ac1dc919b
parente9b3cbdbdfdfbe2a4c9f3794bfb4faff44b6f53a (diff)
downloadATCD-bedf2a66ce103b150c9b6725dd9a045f292dd9e7.tar.gz
ChangeLogTag:Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLogs/ChangeLog-02a8
-rw-r--r--ChangeLogs/ChangeLog-03a8
-rw-r--r--ace/Message_Queue_T.cpp10
4 files changed, 32 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 58a87dfd61a..8751414ae73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Synch_T.i (release): If owner_ == -1 then return
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 58a87dfd61a..8751414ae73 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,11 @@
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Synch_T.i (release): If owner_ == -1 then return
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 58a87dfd61a..8751414ae73 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,11 @@
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Synch_T.i (release): If owner_ == -1 then return
diff --git a/ace/Message_Queue_T.cpp b/ace/Message_Queue_T.cpp
index 1dfba2d3ef2..306fee26771 100644
--- a/ace/Message_Queue_T.cpp
+++ b/ace/Message_Queue_T.cpp
@@ -715,7 +715,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::wait_not_full_cond (ACE_Guard<ACE_SYNCH_MUTEX_
result = this->not_full_cond_.acquire (timeout);
if (result == -1 && errno == ETIME)
- errno = EWOULDBLOCK;
+ {
+ --this->enqueue_waiters_;
+ errno = EWOULDBLOCK;
+ }
// Save/restore errno.
ACE_Errno_Guard error (errno);
@@ -760,7 +763,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::wait_not_empty_cond (ACE_Guard<ACE_SYNCH_MUTEX
result = this->not_empty_cond_.acquire (timeout);
if (result == -1 && errno == ETIME)
- errno = EWOULDBLOCK;
+ {
+ --this->dequeue_waiters_;
+ errno = EWOULDBLOCK;
+ }
// Save/restore errno.
ACE_Errno_Guard error (errno);