* cygheap.cc (cygheap_fixup_in_child): Don't page round cygheap copied from
parent. * dcrt0.cc (do_exit): Don't cleanup pinfo on exit. That happens automatically now. * exceptions.cc (signal_exit): Ditto. * fork.cc (fork_parent): Use stack_here value passed in from fork(). (fork): Figure out top of stack here and pass it to fork_parent. * pinfo.cc (_pinfo::record_death): Eliminate. * pinfo.h (_pinfo): Ditto. * sigproc.cc (proc_exists): Simplify. (proc_terminate): Ditto. (remove_zombie): Don't cleanup pinfo stuff. (wait_sig): Send subproc_ready signal whether execed or spawned. * spawn.cc (spawn_guts): Always create subproc_ready event. Use it for both exec and spawn. (_spawnve): Send proper mode to spawn_guts when mode != _P_OVERLAY.
This commit is contained in:
@@ -973,7 +973,6 @@ enum
|
||||
extern "C" void __stdcall
|
||||
do_exit (int status)
|
||||
{
|
||||
BOOL cleanup_pinfo;
|
||||
UINT n = (UINT) status;
|
||||
static int NO_COPY exit_state = 0;
|
||||
|
||||
@@ -1013,10 +1012,7 @@ do_exit (int status)
|
||||
}
|
||||
|
||||
if (n & EXIT_REPARENTING)
|
||||
{
|
||||
n &= ~EXIT_REPARENTING;
|
||||
cleanup_pinfo = FALSE;
|
||||
}
|
||||
n &= ~EXIT_REPARENTING;
|
||||
else
|
||||
{
|
||||
myself->stopsig = 0;
|
||||
@@ -1045,7 +1041,6 @@ do_exit (int status)
|
||||
}
|
||||
|
||||
tty_terminate ();
|
||||
cleanup_pinfo = TRUE;
|
||||
}
|
||||
|
||||
window_terminate ();
|
||||
@@ -1060,11 +1055,6 @@ do_exit (int status)
|
||||
ForceCloseHandle1 (hExeced, childhProc);
|
||||
}
|
||||
|
||||
if (cleanup_pinfo)
|
||||
myself->record_death ();
|
||||
else
|
||||
sigproc_printf ("not cleanup_pinfo");
|
||||
|
||||
shared_terminate ();
|
||||
|
||||
sigproc_printf ("calling ExitProcess %d", n);
|
||||
@@ -1106,7 +1096,6 @@ __api_fatal (const char *fmt, ...)
|
||||
/* We are going down without mercy. Make sure we reset
|
||||
our process_state. */
|
||||
sigproc_terminate ();
|
||||
myself->record_death ();
|
||||
#ifdef DEBUGGING
|
||||
(void) try_to_debug ();
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user