From 44c245b3ed9e82cc44a5ade4a941c99f63174021 Mon Sep 17 00:00:00 2001 From: rpj Date: Sat, 2 Mar 2002 01:53:08 +0000 Subject: * errno.c: Compiler directive was incorrectly including code. * pthread.h: Conditionally added some #defines from config.h needed when not building the library. e.g. NEED_ERRNO, NEED_SEM. (PTW32_DLLPORT): Now only defined if _DLL defined. (_errno): Compiler directive was incorrectly including prototype. * sched.h: Conditionally added some #defines from config.h needed when not building the library. * semaphore.h: Replace an instance of NEED_SEM that should have been NEED_ERRNO. This change currently has nil effect. * GNUmakefile: Correct some recent changes. * Makefile: Add rule to generate pre-processor output. --- ANNOUNCE | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'ANNOUNCE') diff --git a/ANNOUNCE b/ANNOUNCE index bedeeb1..7e47bd4 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -259,11 +259,21 @@ Known bugs in this snapshot --------------------------- 1. 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() - retrieves and calls the user supplied terminate routine, which - works as expected under MinGW32 g++, but doesn't run under - MS VC++ 6.0, presumably because set_terminate() returns NULL. + set via the standard C++ set_terminate() function is not called. + + Notes from the MSVC++ manual: + 1) A term_func() should call exit(), otherwise + abort() will be called on return to the caller. + A call to abort() raises SIGABRT and the default signal handler + for all signals terminates the calling program with + exit code 3. + 2) A term_func() must not throw an exception. Therefore + term_func() should not call pthread_exit(), which + works by throwing an exception (pthreadVCE or pthreadVSE) + or by calling longjmp (pthreadVC). + + Workaround: avoid using pthread_exit() in C++ applications. Exit + threads by dropping through the end of the thread routine. 2. Cancellation problems in optimised code - Milan Gardian @@ -344,9 +354,13 @@ Known bugs in this snapshot creation of production code is highly unreliable for the current version of the pthreads library. +3. errno -Caveats -------- + Under MSVC, errno isn't working. + + +Special notes +------------- 1. [See also the discussion in the FAQ file - Q2, Q4, and Q5] -- cgit v1.2.3