diff options
author | Christopher Faylor <me@cgf.cx> | 2007-07-14 15:58:32 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2007-07-14 15:58:32 +0000 |
commit | 6f76c68713a2bc3945cc4c3d27a5c266ed8284ca (patch) | |
tree | 2093104f1d417ceb910f067c8259cba1e22a9b79 | |
parent | d409af3661a5c0d654a8b5760b3034db9f4c6191 (diff) | |
download | newlib-6f76c68713a2bc3945cc4c3d27a5c266ed8284ca.zip newlib-6f76c68713a2bc3945cc4c3d27a5c266ed8284ca.tar.gz newlib-6f76c68713a2bc3945cc4c3d27a5c266ed8284ca.tar.bz2 |
* init.cc (in_dllentry): Delete.
(dll_entry): Remove assignment to deleted variable.
* winsup.h (in_dllentry): Delete declaration.
* exceptions.cc (inside_kernel): Use another method to see if we are in
dll_entry phase.
-rw-r--r-- | winsup/cygwin/ChangeLog | 8 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 2 | ||||
-rw-r--r-- | winsup/cygwin/init.cc | 4 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 2 | ||||
-rw-r--r-- | winsup/cygwin/winsup.h | 1 |
5 files changed, 10 insertions, 7 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 9870759..e95f15f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2007-07-14 Christopher Faylor <me+cygwin@cgf.cx> + + * init.cc (in_dllentry): Delete. + (dll_entry): Remove assignment to deleted variable. + * winsup.h (in_dllentry): Delete declaration. + * exceptions.cc (inside_kernel): Use another method to see if we are in + dll_entry phase. + 2007-07-13 Christopher Faylor <me+cygwin@cgf.cx> * init.cc (in_dllentry): Make NO_COPY to avoid spurious false diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 512e1be..efb7a54 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -288,7 +288,7 @@ inside_kernel (CONTEXT *cx) int res; MEMORY_BASIC_INFORMATION m; - if (in_dllentry) + if (!_my_tls.isinitialized ()) return true; memset (&m, 0, sizeof m); diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc index bbbffba..08deb56 100644 --- a/winsup/cygwin/init.cc +++ b/winsup/cygwin/init.cc @@ -118,15 +118,12 @@ respawn_wow64_process () extern void __stdcall dll_crt0_0 (); HMODULE NO_COPY cygwin_hmodule; -bool NO_COPY in_dllentry; extern "C" BOOL WINAPI dll_entry (HANDLE h, DWORD reason, void *static_load) { BOOL wow64_test_stack_marker; - in_dllentry = true; - switch (reason) { case DLL_PROCESS_ATTACH: @@ -162,6 +159,5 @@ dll_entry (HANDLE h, DWORD reason, void *static_load) break; } - in_dllentry = false; return TRUE; } diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 5906c3a..dcaa099 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -39,7 +39,7 @@ details. */ #define WSSC 60000 // Wait for signal completion #define WPSP 40000 // Wait for proc_subproc mutex -#define no_signals_available(x) (!hwait_sig || hwait_sig == INVALID_HANDLE_VALUE || ((x) && myself->exitcode & EXITCODE_SET) || &_my_tls == _sig_tls || in_dllentry) +#define no_signals_available(x) (!hwait_sig || hwait_sig == INVALID_HANDLE_VALUE || ((x) && myself->exitcode & EXITCODE_SET) || &_my_tls == _sig_tls) #define NPROCS 256 diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index 58e8ef1..f6dc71b 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -353,7 +353,6 @@ extern bool display_title; extern bool transparent_exe; extern bool in_forkee; -extern bool in_dllentry; extern HANDLE hMainThread; extern HANDLE hMainProc; |