diff options
author | Thomas Pfaff <tpfaff@gmx.net> | 2003-05-15 19:42:51 +0000 |
---|---|---|
committer | Thomas Pfaff <tpfaff@gmx.net> | 2003-05-15 19:42:51 +0000 |
commit | c8fa3426af407099b0b55b6113f152975794d5fa (patch) | |
tree | f3474c259ee305dcd3a5eff63484e652058a8777 /winsup/cygwin/dcrt0.cc | |
parent | ac5e8cb29c19dcd286d78ad5cfa84dd6bcbf63d1 (diff) | |
download | cygnal-c8fa3426af407099b0b55b6113f152975794d5fa.tar.gz cygnal-c8fa3426af407099b0b55b6113f152975794d5fa.tar.bz2 cygnal-c8fa3426af407099b0b55b6113f152975794d5fa.zip |
* thread.h (pthread::init_mainthread): Remove function parameter.
(MTinterface::Init): Ditto.
* thread.cc (MTinterface::Init): Remove function parameter.
Always initialize reent_key.
(pthread::init_mainthread): Remove function parameter.
(MTinterface::fixup_after_fork): Fix pthread::init_mainthread call.
* dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
pthread::init_mainthread.
Call pthread::init_mainthread only when not forked.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 9ae2e5345..a11b34277 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -565,7 +565,7 @@ dll_crt0_1 () _impure_ptr = &reent_data; user_data->resourcelocks->Init (); - user_data->threadinterface->Init (user_data->forkee); + user_data->threadinterface->Init (); mainthread.init ("mainthread"); // For use in determining if signals // should be blocked. @@ -631,7 +631,10 @@ dll_crt0_1 () ProtectHandle (hMainThread); cygthread::init (); - pthread::init_mainthread (!user_data->forkee); + /* Initialize pthread mainthread when not forked and it is save to call new, + otherwise it is reinitalized in fixup_after_fork */ + if (!user_data->forkee) + pthread::init_mainthread (); /* Initialize debug muto, if DLL is built with --enable-debugging. Need to do this before any helper threads start. */ |