From 2eb392bd77de1535823daeae04c83fae0e331ee8 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 15 Jul 2000 02:48:11 +0000 Subject: * hinfo.cc (hinfo::linearize_fd_array): Make max_used_fd an int so that we can detect when there are no fds to pass. * dcrt0.cc (host_dependent_constants::init): Revert Sat Mar 18 01:32:04 2000 change. (dll_crt0_1): Set "cygwin_finished_initializing" flag. (dll_crt0): Don't perform memcpy if uptr is already set to internal structure. (_dll_crt0): Remember location of programs envptr. * dll_init.h (per_module, dll, dll_list): Revamp. * dll_init.cc: Revamp. Use new classes. * fork.cc (fork): Use new revamped dll, dll_list, and per_module stuff. * environ.cc: Use __cygwin_environ throughout rather than the user_data->envptr. * exec.cc: Ditto. * spawn.cc: Ditto. * winsup.h: Declare update_envptrs, cygwin_finished_initializing. * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Revert previous change. * lib/cygwin_attach_dll.cc (cygwin_attach_dll): Always pass in own per_process structure or we end up overwriting information from the main program. --- winsup/cygwin/lib/cygwin_attach_dll.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'winsup/cygwin/lib/cygwin_attach_dll.c') diff --git a/winsup/cygwin/lib/cygwin_attach_dll.c b/winsup/cygwin/lib/cygwin_attach_dll.c index 09b898bdf..440cace57 100644 --- a/winsup/cygwin/lib/cygwin_attach_dll.c +++ b/winsup/cygwin/lib/cygwin_attach_dll.c @@ -17,15 +17,9 @@ details. */ int cygwin_attach_dll (HMODULE h, MainFunc f) { - struct per_process *u; - if (_cygwin_crt0_common (f, NULL)) - u = NULL; /* Newer DLL. Use DLL internal per_process. */ - else /* Older DLL. Provide a per_process */ - { - u = (struct per_process *) alloca (sizeof (*u)); - (void) _cygwin_crt0_common (f, u); - } + struct per_process u; + (void) _cygwin_crt0_common (f, &u); /* jump into the dll. */ - return dll_dllcrt0 (h, u); + return dll_dllcrt0 (h, &u); } -- cgit v1.2.3