summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2004-01-05 20:01:43 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2004-01-05 20:01:43 +0000
commit27aef3974ed151fd76775e34f56ceb3cd1a8b0a9 (patch)
treed057b9e3e1b09f34183ec0a64141a70f50977477
parent2e6cc2416ba3a14efe3979c899c2ba289358a7ea (diff)
downloadATCD-27aef3974ed151fd76775e34f56ceb3cd1a8b0a9.tar.gz
ChangeLogTag:Mon Jan 5 12:43:01 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--ChangeLog24
-rw-r--r--THANKS4
-rw-r--r--ace/Malloc_T.h5
-rw-r--r--ace/OS_NS_Thread.inl35
-rw-r--r--ace/Process_Manager.h1
5 files changed, 48 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d5857f5ac8..2c84d3715cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,6 +27,14 @@ Mon Jan 5 10:47:51 2004 Chad Elliott <elliott_c@ociweb.com>
absolute paths in MPC files (which isn't recommended for
portability reasons).
+Mon Jan 5 11:02:55 2004 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS_NS_Thread.inl: Fixed ACE_OS::event_timedwait() and
+ ACE_OS::event_wait() so that they use a while loop around the
+ ACE_OS::cond_[timed]wait() calls to avoid problems with spurious
+ wakeups, etc. Thanks to John Bossom <John.Bossom@Cognos.COM>
+ for motivating this fix.
+
Sun Jan 4 20:40:41 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* */Makefile*:
@@ -404,6 +412,11 @@ Thu Jan 1 00:35:21 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Fixed a warning in Solaris 8 builds.
+Thu Jan 1 00:00:00 2004 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * Happy New Year! Let's hope that 2004 is a safe and prosperous
+ year for everyone.
+
Wed Dec 31 21:57:08 2003 Kobi Cohen-Arazi <kcarazi@finjan.com>
* ace/Base_Thread_Adapter.h:
@@ -951,6 +964,10 @@ Thu Dec 25 18:03:28 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Removed the dependency on CosNaming.
+Thu Dec 25 00:00:00 2003 Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
+
+ * Merry Christmas!!!
+
Wed Dec 24 17:10:45 UTC 2003 Don Hinton <dhinton@dresystems.com>
* bin/fuzz.pl:
@@ -1702,7 +1719,12 @@ Sun Dec 14 15:26:46 2003 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
will work properly if ACE_Process_Semaphore is used with
ACE_Malloc<>. Thanks to John Glynn <jglynn@bjc.org> for
motivating this.
-
+
+Sun Dec 13 20:00:00 2003 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * Saddam Hussein captured in a "spider hole" in Iraq. Sic Semper
+ Tyrannis.
+
Sat Dec 13 23:29:05 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* bin/tao_orb_tests.lst:
diff --git a/THANKS b/THANKS
index 06b967f56e0..6be1ec85b82 100644
--- a/THANKS
+++ b/THANKS
@@ -1452,7 +1452,7 @@ Christian Veleba <christian.veleba@porsche.co.at>
Olli Savia <ops@iki.fi>
Bhaskara Rao G <bhaskar@mihy.mot.com>
M Schulze <m2.schulze@gmx.net>
-John Michael Zorko <j.zorko@att.net>
+John Michael Zorko <jmzorko@mac.com>
Ami Bar <amib@rit.co.il>
David Smith <smithdav@tycoelectronics.com>
Peter van Merkerk <Peter.van.Merkerk@meco.nl>
@@ -1789,11 +1789,13 @@ Andy Bellafaire <Andy_M_Bellafaire@raytheon.com>
Pierre Pacchioni <pierre.pacchioni@avisto.com>
John Fletcher <john.fletcher@rd.bbc.co.uk>
Terry Ware <terry.ware@dc.alphatech.com>
+Pierre Pacchioni <pierre.pacchioni@avisto.com>
Roger Beathard <rbeathar@cisco.com>
Konstantinos Margaritis <markos@debian.gr>
Stephen Procter <stephen.procter@rd.bbc.co.uk>
Christoph Liebig <xfrog2000@yahoo.com>
Andre Kostur <Andre@incognito.com>
+Jonathan Pollack <pollack_j@ociweb.com>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/ace/Malloc_T.h b/ace/Malloc_T.h
index da3f316ff46..5a7fb2b3e41 100644
--- a/ace/Malloc_T.h
+++ b/ace/Malloc_T.h
@@ -72,8 +72,9 @@ private:
* this to work properly.
*
* This class can be configured flexibly with different types of
- * ACE_LOCK strategies that support the @a ACE_Thread_Mutex and @a
- * ACE_Process_Mutex constructor API.
+ * ACE_LOCK strategies that support the @a ACE_Thread_Mutex,
+ * @a ACE_Thread_Semaphore, @a ACE_Process_Mutex, and @a
+ * ACE_Process_Semaphore constructor API.
*
* @sa ACE_Dynamic_Cached_Allocator
*/
diff --git a/ace/OS_NS_Thread.inl b/ace/OS_NS_Thread.inl
index 0b858ff89d0..43ac7721171 100644
--- a/ace/OS_NS_Thread.inl
+++ b/ace/OS_NS_Thread.inl
@@ -1087,13 +1087,15 @@ ACE_OS::event_timedwait (ACE_event_t *event,
if (use_absolute_time == 0)
absolute_timeout += ACE_OS::gettimeofday ();
- if (ACE_OS::cond_timedwait (&event->condition_,
- &event->lock_,
- &absolute_timeout) != 0)
- {
- result = -1;
- error = errno;
- }
+ while (event->is_signaled_ == 0)
+ if (ACE_OS::cond_timedwait (&event->condition_,
+ &event->lock_,
+ &absolute_timeout) != 0)
+ {
+ result = -1;
+ error = errno;
+ break;
+ }
event->waiting_threads_--;
}
@@ -1142,18 +1144,19 @@ ACE_OS::event_wait (ACE_event_t *event)
// AUTO: reset state
event->is_signaled_ = 0;
}
- else
- // event is currently not signaled
+ else // event is currently not signaled
{
event->waiting_threads_++;
- if (ACE_OS::cond_wait (&event->condition_,
- &event->lock_) != 0)
- {
- result = -1;
- error = errno;
- // Something went wrong...
- }
+ while (event->is_signaled_ == 0)
+ if (ACE_OS::cond_wait (&event->condition_,
+ &event->lock_) != 0)
+ {
+ result = -1;
+ error = errno;
+ // Something went wrong...
+ break;
+ }
event->waiting_threads_--;
}
diff --git a/ace/Process_Manager.h b/ace/Process_Manager.h
index 2de5fbb1096..df4d85ac8b5 100644
--- a/ace/Process_Manager.h
+++ b/ace/Process_Manager.h
@@ -27,7 +27,6 @@
# include "ace/Recursive_Thread_Mutex.h"
#endif /* ACE_HAS_THREADS */
-
class ACE_Reactor;
/**