* dll_init.cc (dll_dllcrt0): Don't try to initialize dll data if we're

dynamically loaded since fork() doesn't work in that scenario anyway.
(dll_dllcrt0_1): Don't accommodate dynamically loaded dlls.
* exceptions.cc (ctrl_c_handler): Don't lock the process; there's too much risk
of deadlock.
* sigproc.cc (_cygtls::remove_wq): Don't try to remove anything from the waitq
if there is obviously nothing there.
* strace.cc (strace::activate): Allow stracing dynamically loaded cygwin1.dll.
This commit is contained in:
Christopher Faylor
2011-12-08 06:17:49 +00:00
parent 069e637c0e
commit 5025bf330b
5 changed files with 18 additions and 13 deletions

View File

@ -346,7 +346,7 @@ out1:
void
_cygtls::remove_wq (DWORD wait)
{
if (exit_state < ES_FINAL && sync_proc_subproc
if (exit_state < ES_FINAL && waitq_head.next && sync_proc_subproc
&& sync_proc_subproc.acquire (wait))
{
for (waitq *w = &waitq_head; w->next != NULL; w = w->next)