* 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:
Christopher Faylor
2010-09-19 20:18:36 +00:00
parent 392397f46c
commit b64733135a
5 changed files with 45 additions and 14 deletions

View File

@ -79,6 +79,7 @@ class cygthread
void * operator new (size_t);
static cygthread *freerange ();
static void terminate ();
HANDLE thread_handle () const {return h;}
bool SetThreadPriority (int nPriority) {return ::SetThreadPriority (h, nPriority);}
void zap_h ()
{