summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/dcrt0.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-02-25 01:19:13 +0000
committerChristopher Faylor <me@cgf.cx>2004-02-25 01:19:13 +0000
commit5ef9bbc874c0f3210f84cd36adddfcd69cee2962 (patch)
tree09af6cbf3216f3cedcfe7ed00faf373368f33189 /winsup/cygwin/dcrt0.cc
parent5dbaca1607d7650bfb3c8fe2766ad3aed044e0c1 (diff)
downloadcygnal-5ef9bbc874c0f3210f84cd36adddfcd69cee2962.tar.gz
cygnal-5ef9bbc874c0f3210f84cd36adddfcd69cee2962.tar.bz2
cygnal-5ef9bbc874c0f3210f84cd36adddfcd69cee2962.zip
* dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set.
* external.cc (cygwin_internal): Implement CW_GET_BINMODE. * include/sys/cygwin.h: Declare CW_GET_BINMODE.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r--winsup/cygwin/dcrt0.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index eba2348be..1848fa8e9 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -910,7 +910,10 @@ extern "C" void __stdcall
_dll_crt0 ()
{
extern HANDLE sync_startup;
- if (!sync_startup)
+ extern unsigned threadfunc_ix;
+ if (threadfunc_ix)
+ /* nothing to do */;
+ else if (!sync_startup)
system_printf ("internal error: sync_startup not called at start. Expect signal problems.");
else
{
@@ -918,7 +921,6 @@ _dll_crt0 ()
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.");