This is the mail archive of the mailing list for the pthreas-win32 project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

New snapshot 2000-12-29 available

Get it from the usual place:

or mirror sites at:

Please note that the _errno problem is not fixed yet
(unless it was fixed as a side effect of other changes).


Change Summary (since the last snapshot)

-	New non-portable functions for use when statically linking the library
	(see the README file):
	Also, the start of support within the library for statically
	linked applications, but this has not been tested by statically
	linking yet.
-	A fully working MinGW32 g++ compiled version of the
	library	is now supplied. To use with g++ compiled applications
	please see the FAQ "How do I generate pthreadGCE.dll and
	libpthreadw32.a for use with Mingw32", which you need to do
	before compiling and linking applications as well.
-	Unhandled exceptions, whether SEH or C++, are no longer
	silently caught and ignored but are passed out of threads for
	the system to deal with. C++ applications can override
	the default termination handler via set_terminate().
	set_terminate() works fine for MinGW32 g++ but not yet with MS
	VC++ (see known bugs (2)) even though it's the same code. See
	tests/exception3.c for an example of using set_terminate().

Bugs fixed:
-	Pthread_mutex_unlock() now returns EPERM if the unlocking
	thread does not currently hold the thread.
-	Args in the ctime_r macro in pthread.h are fixed.
-	Made semaphore.h independent of config.h when building
	applications. Don't know how this went unnoticed for so long
	- the default defines must have been correct for my test

Some new tests have been added.

Known bugs in this snapshot
1. Asynchronous cancelation only works on Intel X86 machines.
2. Under MS VC++ (only tested with version 6.0), a term_func
   set via the standard C++ set_terminate() function is not called
   for some reason. The code - in private.c:ptw32_threadStart() -
   makes an explicit call to terminate() which works as expected
   under MinGW32 g++ doesn't appear to run the term_func under
   MC VC++ 6.0.
3. This is an interim snapshot as there are still some
   additional patches to go in, eg. to fix problems with errno support
   under some circumstances. Some people are seeing compile warnings
   to do with _errno.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]