* wincap.h (wincaps::has_buggy_thread_startup): Declare.
(wincapc::has_buggy_thread_startup): Ditto. * wincap.cc::wincap_*): Accommodate has_buggy_thread_startup. (wincapc::init): Explicitly turn off has_buggy_thread_startup if not WOW64. * cygthread.h (cygthread::thread_handle): Declare/define new method. * dcrt0.cc (_dll_crt0): Don't call __sinit here. (dll_crt0_0): Don't call sigproc_init during initialization if wincap.has_buggy_thread_startup(). (dll_crt0_1): Defer sigproc_init to here when wincap.has_buggy_thread_startup(). Call __sinit after we've determined that we're not forking. (__main): Rework comments. Add potential future reminder.
This commit is contained in:
@@ -52,6 +52,7 @@ struct wincaps
|
||||
unsigned has_always_all_codepages : 1;
|
||||
unsigned has_localenames : 1;
|
||||
unsigned has_mwmo_inputavailable : 1;
|
||||
unsigned has_buggy_thread_startup : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
@@ -109,6 +110,7 @@ public:
|
||||
bool IMPLEMENT (has_always_all_codepages)
|
||||
bool IMPLEMENT (has_localenames)
|
||||
bool IMPLEMENT (has_mwmo_inputavailable)
|
||||
bool IMPLEMENT (has_buggy_thread_startup)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
Reference in New Issue
Block a user