* dcrt0.cc (dll_crt0_1): Initialize mainthread stuff here before anything needs
it. * sigproc.cc (sigproc_init): Move mainthread initialization out of here. * sigproc.h (sigthread): Add init() method. (sigframe): Don't try to initialize muto. * sync.cc: Undef WaitForSingleObject to avoid recursion.
This commit is contained in:
@ -100,7 +100,6 @@ Static waitq waitq_main; // Storage for main thread
|
||||
|
||||
muto NO_COPY *sync_proc_subproc = NULL; // Control access to subproc stuff
|
||||
|
||||
sigthread NO_COPY mainthread; // ID of the main thread
|
||||
DWORD NO_COPY sigtid = 0; // ID of the signal thread
|
||||
|
||||
int NO_COPY pending_signals = 0; // TRUE if signals pending
|
||||
@ -604,9 +603,6 @@ sigproc_init ()
|
||||
to a signal handler function. */
|
||||
signal_arrived = CreateEvent(&sec_none_nih, TRUE, FALSE, NULL);
|
||||
|
||||
mainthread.id = GetCurrentThreadId ();// For use in determining if signals
|
||||
// should be blocked.
|
||||
|
||||
if (!(hwait_sig = makethread (wait_sig, NULL, 0, "sig")))
|
||||
{
|
||||
system_printf ("cannot create wait_sig thread, %E");
|
||||
|
Reference in New Issue
Block a user