From 9e771b529dfb74600baf3c0234e247d5fa166524 Mon Sep 17 00:00:00 2001 From: rpj Date: Fri, 29 Dec 2000 07:14:46 +0000 Subject: Updated. --- README | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 14 deletions(-) (limited to 'README') diff --git a/README b/README index 93bf8cd..0ca6271 100644 --- a/README +++ b/README @@ -160,6 +160,39 @@ pthread_delay_np (const struct timespec *interval); 0 Successful completion. [EINVAL] The value specified by interval is invalid. + +BOOL +pthread_win32_process_attach_np (void); + +BOOL +pthread_win32_process_detach_np (void); + +BOOL +pthread_win32_thread_attach_np (void); + +BOOL +pthread_win32_thread_detach_np (void); + + These functions contain the code normally run via dllMain + when the library is used as a dll but which need to be + called explicitly by an application when the library + is statically linked. + + You will need to call pthread_win32_process_attach_np() before + you can call any pthread routines when statically linking. + You should call pthread_win32_process_detach_np() before + exiting your application to clean up. + + pthread_win32_thread_attach_np() is currently a no-op, but + pthread_win32_thread_detach_np() is needed to clean up + after Win32 threads that have called pthreads routines + have exited. + + These functions invariably return TRUE except for + pthread_win32_process_attach_np() which will return FALSE + if pthreads-win32 initialisation fails. + + int pthreadCancelableWait (HANDLE waitHandle); @@ -232,9 +265,9 @@ from the FTP site (see under "Availability" below): pthread.def pthreadVCE.dll - built with MSVC++ compiler using C++ EH pthreadVCE.lib - pthreadVSE.dll - built with MSVC++ compiler using SEH + pthreadVSE.dll - built with MSVC compiler using SEH pthreadVSE.lib - pthreadGCE.dll - built with Mingw32 G++ (see "Known Bugs") + pthreadGCE.dll - built with Mingw32 G++ libpthreadw32.a - derived from pthreadGCE.dll @@ -250,18 +283,7 @@ pthread_exit() will work reliably if at all. Building applications with GNU compilers ---------------------------------------- -[Please see the section on Known Bugs above and the section -dealing with building the library with Mingw32 before -you build applications using the GNU compilers. Please also -note that the pre-built pthreadGCE.dll is currently only -a copy of the dll built by MSVC++. Note that VC++ and -GNU exception handling is implemented completely differently -and so automatic cleanup of objects and the propagation of -exceptions themselves between the two schemes is not -going to happen. You'll need to wait for the version of -pthreadGCE.dll built be G++ itself which still has problems.] - -Use gcc-2.95.2 or later. +Use gcc-2.95.2-1 or later modified as per pthreads-win32 FAQ question 6. With pthreadGCE.dll and libpthreadw32.a in the same directory as your application myapp.c, you could compile, link and run myapp.c under -- cgit v1.2.3