This is the mail archive of the
pthreads-win32@sources.redhat.com
mailing list for the pthreas-win32 project.
New snapshot 2000-12-29 available
- To: pthreads-win32 at sources dot redhat dot com
- Subject: New snapshot 2000-12-29 available
- From: Ross Johnson <rpj at special dot ise dot canberra dot edu dot au>
- Date: Fri, 29 Dec 2000 19:15:29 +1100 (EST)
Get it from the usual place:
ftp://sources.redhat.com/pub/pthreads-win32
or mirror sites at:
http://sources.redhat.com/mirrors.html
Please note that the _errno problem is not fixed yet
(unless it was fixed as a side effect of other changes).
Enjoy!
Change Summary (since the last snapshot)
----------------------------------------
New:
- New non-portable functions for use when statically linking the library
(see the README file):
pthread_delay_np
pthread_win32_process_attach_np
pthread_win32_process_detach_np
pthread_win32_thread_attach_np
pthread_win32_thread_detach_np
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
environment.
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.
Ross