From 1ff9f4b9373620aa923412d7aa90b8d04d940199 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 7 Sep 2001 21:32:07 +0000 Subject: * cygheap.h (init_cygheap): Move heap pointers here. * include/sys/cygwin.h (perprocess): Remove heap pointers. * dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff. (_dll_crt0): Don't initialize heap pointers. (cygwin_dll_init): Ditto. (release_upto): Use heap pointers from cygheap. * heap.h: Ditto. * fork.cc (fork_parent): Ditto. Don't set heap pointers in ch. (fork_child): Remove obsolete sigproc_fixup_after_fork. * shared.cc (memory_init): Reorganize so that cygheap initialization is called prior to regular heap since regular heap uses cygheap now. * sigproc.cc (proc_subproc): Eliminate zombies allocation. (sigproc_init): Move zombies alloation here. Don't free up array on fork, just reuse it. (sigproc_fixup_after_fork): Eliminate. * sigproc.h: Ditto. * include/cygwin/version.h: Reflect change to perprocess structure. --- winsup/cygwin/sigproc.cc | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'winsup/cygwin/sigproc.cc') diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index b3c69ffd5..39a300bf2 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -303,8 +303,6 @@ proc_subproc (DWORD what, DWORD val) int thiszombie; thiszombie = nzombies; - if (!zombies) - zombies = (pinfo *) malloc (sizeof (pinfo) * ZOMBIEMAX); zombies[nzombies] = pchildren[val]; // Add to zombie array zombies[nzombies++]->process_state = PID_ZOMBIE;// Walking dead @@ -545,6 +543,11 @@ sig_dispatch_pending (int justwake) void __stdcall sigproc_init () { + if (!zombies) + zombies = (pinfo *) malloc (sizeof (pinfo) * ZOMBIEMAX); + else + nzombies = 0; + wait_sig_inited = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL); ProtectHandle (wait_sig_inited); @@ -1304,17 +1307,6 @@ wait_subproc (VOID *) return 0; } -void __stdcall -sigproc_fixup_after_fork () -{ - if (zombies) - { - free (zombies); - nzombies = 0; - zombies = NULL; - } -} - extern "C" { /* Provide a stack frame when calling WaitFor* functions */ -- cgit v1.2.3