* cygthread.cc (cygthread::async_create): Define new function.
* cygthread.h (cygthread::create): Use correct regparm. (cygthread::standalone): Delete from class and from all constructors. (cygthread::cygthread): Use three only arguments for detached threads, and start the thread via QueueUserAPC/async_create. * dcrt0.cc (dll_crt0_0): Remove handling for wincap.has_buggy_thread_startup. (dll_crt0_1): Ditto. * wincap.cc: Ditto throughout. * wincap.h: Ditto.
This commit is contained in:
@@ -709,7 +709,7 @@ dll_crt0_0 ()
|
||||
/* Initialize signal processing here, early, in the hopes that the creation
|
||||
of a thread early in the process will cause more predictability in memory
|
||||
layout for the main thread. */
|
||||
if (!wincap.has_buggy_thread_startup () && !dynamically_loaded)
|
||||
if (!dynamically_loaded)
|
||||
sigproc_init ();
|
||||
|
||||
debug_printf ("finished dll_crt0_0 initialization");
|
||||
@@ -724,8 +724,9 @@ dll_crt0_1 (void *)
|
||||
{
|
||||
extern void initial_setlocale ();
|
||||
|
||||
if (wincap.has_buggy_thread_startup () || dynamically_loaded)
|
||||
if (dynamically_loaded)
|
||||
sigproc_init ();
|
||||
|
||||
check_sanity_and_sync (user_data);
|
||||
|
||||
/* Initialize malloc and then call user_shared_initialize since it relies
|
||||
|
Reference in New Issue
Block a user