diff options
author | Christopher Faylor <me@cgf.cx> | 2001-08-05 01:10:52 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-08-05 01:10:52 +0400 |
commit | e5ba4c060e410f92abe570933fe2bda239f34bd9 (patch) | |
tree | f00aba6a99486b9642573415d571c73ab3a0b80b /winsup/cygwin/spawn.cc | |
parent | 17195d08bc7b8e4b9b4bbc21be92497c64f7045c (diff) |
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.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 462cea7aa..c6750b4db 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -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 { |