This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
cygwin.dll src question: fork()
- To: gnu-win32 at cygnus dot com
- Subject: cygwin.dll src question: fork()
- From: newsham at lava dot net (Tim Newsham)
- Date: Tue, 28 Oct 1997 22:49:48 -1000 (HST)
Hi,
Question: Why is a setjmp/longjmp pair used in __fork():
static int
__fork ()
{
jmp_buf b;
int r;
if ((r = setjmp (b)) != 0)
{
r = r == -2 ? -1 : r == -1 ? 0 : r;
return r;
}
r = cygwin_fork_helper1 (u->data_start, u->data_end,
u->bss_start, u->bss_end);
/* Must convert result to get it through setjmp ok. */
longjmp (b, r == -1 ? -2 : r == 0 ? -1 : r);
}
At the time when cygwin_fork_helper1() returns isn't the
child's state already a copy of the parent's state?
Tim N.
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".