diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2004-01-05 20:01:43 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2004-01-05 20:01:43 +0000 |
commit | 27aef3974ed151fd76775e34f56ceb3cd1a8b0a9 (patch) | |
tree | d057b9e3e1b09f34183ec0a64141a70f50977477 | |
parent | 2e6cc2416ba3a14efe3979c899c2ba289358a7ea (diff) | |
download | ATCD-27aef3974ed151fd76775e34f56ceb3cd1a8b0a9.tar.gz |
ChangeLogTag:Mon Jan 5 12:43:01 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | ChangeLog | 24 | ||||
-rw-r--r-- | THANKS | 4 | ||||
-rw-r--r-- | ace/Malloc_T.h | 5 | ||||
-rw-r--r-- | ace/OS_NS_Thread.inl | 35 | ||||
-rw-r--r-- | ace/Process_Manager.h | 1 |
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: @@ -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; /** |