From b5e1f8e4dcad0b58d7d2e27d7485fe5162154281 Mon Sep 17 00:00:00 2001 From: rpj Date: Mon, 4 Nov 2002 12:41:35 +0000 Subject: Update admin files. --- ANNOUNCE | 16 +++++++++------- CONTRIBUTORS | 39 +++++++++++++++++++++------------------ NEWS | 27 +++++++++++++++++++++++++++ README | 18 ++++++++++-------- 4 files changed, 67 insertions(+), 33 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 21ddda3..64f00df 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ - PTHREADS-WIN32 SNAPSHOT 2002-03-02 + PTHREADS-WIN32 SNAPSHOT 2002-11-04 ---------------------------------- Web Site: http://sources.redhat.com/pthreads-win32/ FTP Site: ftp://sources.redhat.com/pub/pthreads-win32 @@ -67,6 +67,8 @@ The following POSIX 1003.1 2001 options are defined: _POSIX_THREADS _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_THREAD_ATTR_STACKSIZE + _POSIX_SEM_VALUE_MAX + _POSIX_SEM_NSEMS_MAX _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_SEMAPHORES _POSIX_READER_WRITER_LOCKS @@ -110,15 +112,15 @@ The following functions are implemented: pthread_setcancelstate pthread_setcanceltype pthread_testcancel - + --------------------------- - Thread Specific Data + Thread Specific Data --------------------------- pthread_key_create pthread_key_delete pthread_setspecific pthread_getspecific - + --------------------------- Mutexes --------------------------- @@ -151,7 +153,7 @@ The following functions are implemented: pthread_cond_wait pthread_cond_timedwait pthread_cond_signal - pthread_cond_broadcast + pthread_cond_broadcast --------------------------- Read/Write Locks @@ -207,8 +209,8 @@ The following functions are implemented: --------------------------- RealTime Scheduling --------------------------- - pthread_attr_getschedparam - pthread_attr_setschedparam + pthread_attr_getschedparam + pthread_attr_setschedparam pthread_attr_getinheritsched pthread_attr_setinheritsched pthread_attr_getschedpolicy (only supports SCHED_OTHER) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 78bb7a1..7823ef4 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -14,13 +14,13 @@ Ross Johnson rpj@ise.canberra.edu.au bug fixes; documentation; testsuite. -Robert Colquhoun rjc@trump.net.au +Robert Colquhoun rjc@trump.net.au Early bug fixes. John E. Bossom John.Bossom@cognos.com Contributed substantial original working implementation; bug fixes; ongoing guidance and standards interpretation. -Anders Norlander anorland@hem2.passagen.se +Anders Norlander anorland@hem2.passagen.se Early enhancements and runtime checking for supported Win32 routines. Tor Lillqvist tml@iki.fi @@ -30,37 +30,37 @@ Scott Lightner scott@curriculum.com Bug fix. Kevin Ruland Kevin.Ruland@anheuser-busch.com Various bug fixes. -Mike Russo miker@eai.com +Mike Russo miker@eai.com Bug fix. -Mark E. Armstrong avail@pacbell.net +Mark E. Armstrong avail@pacbell.net Bug fixes. -Lorin Hochstein lmh@xiphos.ca +Lorin Hochstein lmh@xiphos.ca general bug fixes; bug fixes to condition variables. Peter Slacik Peter.Slacik@tatramed.sk Bug fixes. -Mumit Khan khan@xraylith.wisc.edu +Mumit Khan khan@xraylith.wisc.edu Fixes to work with Mingw32. Milan Gardian mg@tatramed.sk Bug fixes and reports/analyses of obscure problems. Aurelio Medina aureliom@crt.com First implementation of read-write locks. -Graham Dumpleton Graham.Dumpleton@ra.pad.otc.telstra.com.au +Graham Dumpleton Graham.Dumpleton@ra.pad.otc.telstra.com.au Bug fix in condition variables. -Tristan Savatier tristan@mpegtv.com +Tristan Savatier tristan@mpegtv.com WinCE port. Erik Hensema erik@hensema.xs4all.nl Bug fixes. -Rich Peters rpeters@micro-magic.com -Todd Owen towen@lucidcalm.dropbear.id.au +Rich Peters rpeters@micro-magic.com +Todd Owen towen@lucidcalm.dropbear.id.au Bug fixes to dll loading. -Jason Nye jnye@nbnet.nb.ca +Jason Nye jnye@nbnet.nb.ca Implementation of async cancelation. Fred Forester fforest@eticomm.net Kevin D. Clark kclark@cabletron.com David Baggett dmb@itasoftware.com Bug fixes. Paul Redondo paul@matchvision.com -Scott McCaskill scott@3dfx.om +Scott McCaskill scott@3dfx.om Bug fixes. Jef Gearhart jgearhart@tpssys.com Bug fix. @@ -80,23 +80,26 @@ Thomas Pfaff tpfaff@gmx.net re-implemented mutex routines to avoid Win32 mutexes and TryEnterCriticalSection; procedure to fix Mingw32 thread-safety issues. -Franco Bez franco.bez@gmx.de +Franco Bez franco.bez@gmx.de procedure to fix Mingw32 thread-safety issues. Louis Thomas lthomas@arbitrade.com (with Alexander Terekhov) re-implemented and improved condition variables. -David Korn dgk@research.att.com +David Korn dgk@research.att.com Ported to UWIN. -Phil Frisbie, Jr. phil@hawksoft.com +Phil Frisbie, Jr. phil@hawksoft.com Bug fix. -Ralf Brese Ralf.Brese@pdb4.siemens.de +Ralf Brese Ralf.Brese@pdb4.siemens.de Bug fix. -prionx@juno.com prionx@juno.com +prionx@juno.com prionx@juno.com Bug fixes. Max Woodbury mtew@cds.duke.edu POSIX versioning conditionals; reduced namespace pollution; idea to separate routines to reduce statically linked image sizes. -Michael Johnson michaelj@maine.rr.com +Rob Fanner rfanner@stonethree.com Bug fix. +Michael Johnson michaelj@maine.rr.com + Bug fix. + diff --git a/NEWS b/NEWS index d4cd9c0..24d6511 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,30 @@ +SNAPSHOT 2002-11-04 +------------------- + +Bug fixes +--------- + +* sem_getvalue() now returns the correct value under Win NT and WinCE. +- Rob Fanner + +* sem_timedwait() now uses tighter checks for unreasonable +abstime values - that would result in unexpected timeout values. + +* ptw32_cond_wait_cleanup() no longer mysteriously consumes +CV signals but may produce more spurious wakeups. It is believed +that the sem_timedwait() call is consuming a CV signal that it +shouldn't. +- Alexander Terekhov + +* Fixed a memory leak in ptw32_threadDestroy() for implicit threads. + +* Fixed potential for deadlock in pthread_cond_destroy(). +A deadlock could occur for statically declared CVs (PTHREAD_COND_INITIALIZER), +when one thread is attempting to destroy the condition variable while another +is attempting to dynamically initialize it. +- Michael Johnson + + SNAPSHOT 2002-03-02 ------------------- diff --git a/README b/README index 1e49e74..a3aaf84 100644 --- a/README +++ b/README @@ -69,7 +69,7 @@ There are a couple of reasons: Finally, for a proper version of the library with no internal exceptions to be usable with C++ applications, the C version -should compiled as C++ so that it knows about and can propagate +should be compiled as C++ so that it knows about and can propagate exceptions even if it doesn't use C++ features. @@ -79,9 +79,7 @@ Notes: 1. [See also the discussion in the FAQ file - Q2, Q4, and Q5] -Due to what is believed to be a C++ compliance error in VC++ whereby -you may not have multiple handlers for the same exception in the same -try/catch block, if your application contains catch(...) blocks in your POSIX +If your application contains catch(...) blocks in your POSIX threads then you will need to replace the "catch(...)" with the macro "PtW32Catch", eg. @@ -99,6 +97,10 @@ Otherwise neither pthreads cancelation nor pthread_exit() will work reliably when using versions of the library that use C++ exceptions for cancelation and thread exit. +This is due to what is believed to be a C++ compliance error in VC++ +whereby you may not have multiple handlers for the same exception in +the same try/catch block. GNU G++ doesn't have this restriction. + Library naming -------------- @@ -167,15 +169,15 @@ included a call to _pthread_processInitialize. You will now have to change that to ptw32_processInitialize. -A note on Cleanup code default style ------------------------------------- +Cleanup code default style +-------------------------- Previously, if not defined, the cleanup style was determined automatically from the compiler used, and one of the following was defined accordingly: __CLEANUP_SEH MSVC only __CLEANUP_CXX C++, including MSVC++, GNU G++ - __CLEANUP_C C, including GNU GCC, not MSVC + __CLEANUP_C C, including GNU GCC, not MSVC These defines determine the style of cleanup (see pthread.h) and, most importantly, the way that cancelation and thread exit (via @@ -203,7 +205,7 @@ defines require the following library versions: __CLEANUP_SEH pthreadVSE.dll __CLEANUP_CXX pthreadVCE.dll or pthreadGCE.dll - __CLEANUP_C pthreadVC.dll or pthreadGC.dll + __CLEANUP_C pthreadVC.dll or pthreadGC.dll THE POINT OF ALL THIS IS: if you have not been defining one of these explicitly, then the defaults as described at the top of this -- cgit v1.2.3