From c8fa3426af407099b0b55b6113f152975794d5fa Mon Sep 17 00:00:00 2001 From: Thomas Pfaff Date: Thu, 15 May 2003 19:42:51 +0000 Subject: * 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. --- winsup/cygwin/dcrt0.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/dcrt0.cc') 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. */ -- cgit v1.2.3