* fork.cc (frok::child): Change order of cleanup prior to return.

(fork): Save more of the stack.
* gendef: Fix some comments.
* sigproc.cc (wait_sig): Clarify debug output.
This commit is contained in:
Christopher Faylor
2005-10-29 15:19:34 +00:00
parent c85263884a
commit f02b22dcee
4 changed files with 18 additions and 7 deletions

View File

@ -244,15 +244,15 @@ frok::child (void *)
ForceCloseHandle1 (fork_info->forker_finished, forker_finished);
_my_tls.fixup_after_fork ();
sigproc_init ();
pthread::atforkchild ();
fixup_timers_after_fork ();
fixup_hooks_after_fork ();
cygbench ("fork-child");
ld_preload ();
fixup_hooks_after_fork ();
cygwin_finished_initializing = true;
_my_tls.fixup_after_fork ();
return 0;
}
@ -562,7 +562,10 @@ fork ()
grouped.first_dll = NULL;
grouped.load_dlls = 0;
int res;
void *esp;
int ischild;
__asm__ volatile ("movl %%esp,%0": "=r" (esp));
myself->set_has_pgid_children ();
@ -576,8 +579,7 @@ fork ()
}
sig_send (NULL, __SIGHOLD);
int res;
int ischild = setjmp (grouped.ch.jmp);
ischild = setjmp (grouped.ch.jmp);
if (!ischild)
res = grouped.parent (esp);
else