diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | implement.h | 4 | ||||
-rw-r--r-- | pthread.h | 1 | ||||
-rw-r--r-- | pthread_win32_attach_detach_np.c | 3 | ||||
-rw-r--r-- | ptw32_threadStart.c | 4 | ||||
-rw-r--r-- | ptw32_throw.c | 4 |
6 files changed, 21 insertions, 1 deletions
@@ -10,6 +10,12 @@ LONG for 32 bit systems and LONGLONG for 64 bit systems.
* implement.h (MCS locks): nextFlag and waitFlag are now HANDLE type.
* ptw32_MCS_locks.c: Likewise.
+ * pthread_win32_attach_detach_np.c: Set the DLL search path to exclude
+ the "current idrectory".
+ * pthread.h (#include <setjmp.h>): Removed.
+ * ptw32_throw.c (#include <setjmp.h>): Added.
+ * ptw32_threadStart.c (#include <setjmp.h>): Added.
+ * implement.h (#include <setjmp.h>): Added.
2011-06-30 Ross Johnson <ross dot johnson at homemail dot com dot au>
diff --git a/implement.h b/implement.h index 7a3e0a2..bae4bff 100644 --- a/implement.h +++ b/implement.h @@ -68,6 +68,10 @@ typedef VOID (APIENTRY *PAPCFUNC)(DWORD dwParam); #include <malloc.h> #endif +#if defined(__CLEANUP_C) +# include <setjmp.h> +#endif + #if !defined(INT_MAX) #include <limits.h> #endif @@ -225,7 +225,6 @@ typedef unsigned long ULONG_PTR; #include <signal.h> #endif /* HAVE_SIGNAL_H */ -#include <setjmp.h> #include <limits.h> /* diff --git a/pthread_win32_attach_detach_np.c b/pthread_win32_attach_detach_np.c index bd52a7f..f8940e5 100644 --- a/pthread_win32_attach_detach_np.c +++ b/pthread_win32_attach_detach_np.c @@ -67,6 +67,7 @@ pthread_win32_process_attach_np () /* * Load QUSEREX.DLL and try to get address of QueueUserAPCEx */ + SetDllDirectory(""); /* Don't search in current directory */ ptw32_h_quserex = LoadLibrary (TEXT ("QUSEREX.DLL")); if (ptw32_h_quserex != NULL) @@ -112,6 +113,8 @@ pthread_win32_process_attach_np () } } + SetDllDirectory(NULL); /* Reset DLL search path to default */ + if (ptw32_h_quserex) { ptw32_features |= PTW32_ALERTABLE_ASYNC_CANCEL; diff --git a/ptw32_threadStart.c b/ptw32_threadStart.c index 3315972..cb08403 100644 --- a/ptw32_threadStart.c +++ b/ptw32_threadStart.c @@ -39,6 +39,10 @@ #include "implement.h" #include <stdio.h> +#if defined(__CLEANUP_C) +# include <setjmp.h> +#endif + #if defined(__CLEANUP_SEH) static DWORD diff --git a/ptw32_throw.c b/ptw32_throw.c index 4846306..1404e94 100644 --- a/ptw32_throw.c +++ b/ptw32_throw.c @@ -38,6 +38,10 @@ #include "pthread.h" #include "implement.h" +#if defined(__CLEANUP_C) +# include <setjmp.h> +#endif + /* * ptw32_throw * |