diff options
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 06982e653..eba2348be 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -910,12 +910,18 @@ extern "C" void __stdcall _dll_crt0 () { extern HANDLE sync_startup; - if (sync_startup) + if (!sync_startup) + system_printf ("internal error: sync_startup not called at start. Expect signal problems."); + else { (void) WaitForSingleObject (sync_startup, INFINITE); CloseHandle (sync_startup); } + extern unsigned threadfunc_ix; + if (!threadfunc_ix) + system_printf ("internal error: couldn't determine location of thread function on stack. Expect signal problems."); + main_environ = user_data->envptr; *main_environ = NULL; |