diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 987075959..e95f15f5d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2007-07-14 Christopher Faylor + + * 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 * init.cc (in_dllentry): Make NO_COPY to avoid spurious false diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 512e1bef5..efb7a5448 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 bbbffba08..08deb5635 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 5906c3a24..dcaa0991e 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 58e8ef1a0..f6dc71bd4 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;