Throughout, change check for running under Windows NT to 'iswinnt'.

* dcrt0.cc (set_os_type): Set 'iswinnt' appropriately.
* cygheap.cc (init_cheap): Revert to using VirtualAlloc for allocating cygheap.
(cygheap_setup_for_child_cleanup): New function.  Standard function to call
after calling CreateProcess to cleanup cygheap info passed to child.
(cygheap_fixup_in_child): Copy cygheap from shared memory into allocated space
under Windows 9x or if can't relocate shared space under NT.
* cygheap.h: Declare new function.
* spawn.cc (spawn_guts): Use cygheap_fixup_in_child.
* fork.cc (fork_parent): Ditto.
* winsup.h: Declare iswinnt.
This commit is contained in:
Christopher Faylor
2001-08-04 21:10:52 +00:00
parent 17195d08bc
commit e5ba4c060e
27 changed files with 105 additions and 76 deletions

View File

@ -675,7 +675,7 @@ skip_arg_parsing:
MALLOC_CHECK;
if (envblock)
free (envblock);
ForceCloseHandle1 (ciresrv.cygheap_h, passed_cygheap_h);
cygheap_setup_for_child_cleanup (&ciresrv);
MALLOC_CHECK;
/* Set errno now so that debugging messages from it appear before our
@ -718,6 +718,7 @@ skip_arg_parsing:
strace.execing = 1;
hExeced = pi.hProcess;
strcpy (myself->progname, real_path);
close_all_files ();
}
else
{