From 2346864a451f0e82c26d083c1fee7c6df07edc68 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 2 Jun 2006 00:09:50 +0000 Subject: * cygheap.cc (cygheap_fixup_in_child): Don't close parent handle here. Let the caller do that. * dcrt0.cc (child_info_spawn::handle_spawn): Close parent handle here to allow fixup_after_exec functions to use it. * cygtls.cc (_cygtls::call2): Avoid calling exit thread if called with *crt0_1 functions. * cygtls.h (_cygtls::isinitialized): Check that we actually have a tls before seeing if it is initialized. * gendef (_sigfe_maybe): Ditto. * dcrt0.cc (dll_crt0_1): Remove static, use just one argument. * dll_init.cc (dllcrt0_info): New structure. (dll_dllcrt0): Change into a front-end to renamed dll_dllcrt0_1 so that we'll always be assured of having something like a tls. (dll_dllcrt0_1): New function, basically renamed from from dll_dllcrt0. Unconditionally call _my_tls.init_exception_handler now that we are assured of having a tls. Change variable name from "linking" to "linked". * winsup.h (dll_crt0_1): Declare. (dll_dllcrt0_1): Ditto. --- winsup/cygwin/winsup.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'winsup/cygwin/winsup.h') diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index 73ef0a59f..9a1039dc1 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -169,6 +169,8 @@ class per_process; /* cygwin .dll initialization */ void dll_crt0 (per_process *) __asm__ ("_dll_crt0__FP11per_process"); extern "C" void __stdcall _dll_crt0 (); +extern void dll_crt0_1 (void *); +extern void dll_dllcrt0_1 (void *); /* dynamically loaded dll initialization */ extern "C" int dll_dllcrt0 (HMODULE, per_process *); -- cgit v1.2.3