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   * | 
