Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-04-08 08:13:12 +0400
committerChristopher Faylor <me@cgf.cx>2000-04-08 08:13:12 +0400
commit0cda2f4609291ee1394935aca76eb740a67a5473 (patch)
treec125c12b3f48841ecf7af6298c5df5aa45dfa20c /winsup/cygwin/fork.cc
parent65c0e6e68c617463b1d52463f624a6bcee6e383f (diff)
* exceptions.cc (sigsave): Copy on fork so that we can restore correct behavior
in forked process. (interruptible): Flag as interruptible when running in main process module. (interrupt_setup): Save return address and address of return address. (signal_fixup_after_fork): New function. Uses above two values to restore proper behavior to forked process. (interrupt_on_return): Pass return address address to interupt_setup. (interrupt_now): Pass NULL for return address address to interrupt_setup. * fork.cc (fork): Call signal_fixup_after_fork. * shared.h: Lint cleanups. * winsup.h: Ditto.
Diffstat (limited to 'winsup/cygwin/fork.cc')
-rw-r--r--winsup/cygwin/fork.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 44fc49dc2..baa5a9599 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -17,7 +17,7 @@ details. */
#include "winsup.h"
#include "dll_init.h"
-DWORD chunksize = 0;
+DWORD NO_COPY chunksize = 0;
/* Timeout to wait for child to start, parent to init child, etc. */
/* FIXME: Once things stabilize, bump up to a few minutes. */
#define FORK_WAIT_TIMEOUT (300 * 1000) /* 300 seconds */
@@ -516,6 +516,7 @@ fork ()
MALLOC_CHECK;
dtable.fixup_after_fork (hParent);
+ signal_fixup_after_fork ();
ForceCloseHandle (hParent);
MALLOC_CHECK;