summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorrpj <rpj>2000-12-29 07:14:46 +0000
committerrpj <rpj>2000-12-29 07:14:46 +0000
commit9e771b529dfb74600baf3c0234e247d5fa166524 (patch)
treee70bf81616d1bf8667fd8809c1608ed97f778cd7 /README
parent0c2cb3fb140fb0d12586587001cb1ca238cf8c25 (diff)
Diffstat (limited to 'README')
-rw-r--r--README50
1 files changed, 36 insertions, 14 deletions
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