This is the mail archive of the
mailing list for the pthreas-win32 project.
New pthreads-w32 releases available: versions 2.0.0 and 1.4.0
- From: Ross Johnson <RossJohnson at homemail dot com dot au>
- To: Pthreads-Win32 list <pthreads-win32 at sources dot redhat dot com>
- Date: Tue, 26 Apr 2005 15:24:35 +1000
- Subject: New pthreads-w32 releases available: versions 2.0.0 and 1.4.0
Announcing two new releases of pthreads-w32:-
Packages are available in self-unpacking zip files (.exe) and gzipped
tar files (.tar.gz) as usual.
or go directly to:
Red Hat have a low ftp concurrent user limit. Mirrors are at (available
as they update):
There is now no plan to release a version 3.0.0 to fix problems in
pthread_once(). Other possible implementations of pthread_once
will still be investigated for a possible future release in an attempt
to reduce the current implementation's complexity.
All of the bug fixes and new features in this release have been
back-ported for release 1.8.0.
* Fixed pthread_once race (failures on an MP system). Thanks to
Tim Theisen for running exhaustive pre-release testing on his MP system
using a range of compilers:
Intel C++ version 8.0
All tests passed.
Some minor speed improvements were also done (cf. previous release - this
release is closer to Gottlob Frege's first posted design, but with
cancellation and priority boosting added plus some other house-keeping).
* Fix integer overrun error in pthread_mutex_timedlock() - missed when
sem_timedwait() was fixed in release 2.2.0. This routine no longer returns
ENOTSUP when NEED_SEM is defined - it is supported (NEED_SEM is only
required for WinCE versions prior to 3.0).
* Fix timeout bug in sem_timedwait().
- Thanks to Stephan Mueller for reporting, providing diagnostic output
and test code.
* Fix several problems in the NEED_SEM conditionally included code.
NEED_SEM included code is provided for systems that don't implement W32
semaphores, such as WinCE prior to version 3.0. An alternate implementation
of POSIX semaphores is built using W32 events for these systems when
NEED_SEM is defined. This code has been completely rewritten in this
release to reuse most of the default POSIX semaphore code, and particularly,
to implement all of the sem_* routines supported by pthreads-win32. Tim
Theisen also run the test suite over the NEED_SEM code on his MP system. All
* The library now builds without errors for the Borland Builder 5.5 compiler,
but see the BUGS file (bug #3).
* pthread_mutex_timedlock() and all sem_* routines provided by
pthreads-win32 are now implemented for WinCE versions prior to 3.0. Those
versions did not implement W32 semaphores. Define NEED_SEM in config.h when
building the library for these systems.
Known issues in this release
* pthread_once is too complicated - but it works as far as testing can
* The Borland version of the dll fails some of the tests with a memory read
exception. The cause is not yet known but a compiler bug has not been ruled