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>2001-09-15 04:47:44 +0400
committerChristopher Faylor <me@cgf.cx>2001-09-15 04:47:44 +0400
commit9661a0c8b7f59960d6d180ffa2872710f5253913 (patch)
tree08fad6a660efa6a0b678f417fcb826d02917aa76 /winsup/cygwin/dcrt0.cc
parentbf0338856a38f856195d3d517fa5067357ed2f9d (diff)
* dcrt0.cc (dll_crt0_1): Create vfork main storage here so that it can be
queried in waitsig later. * sigproc.cc (wait_sig): Don't deliver a signal if in a vfork. * fork.cc (vfork): Deliver all signals on parent return from vfork.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r--winsup/cygwin/dcrt0.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index a9648f213..5402510a7 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -534,6 +534,7 @@ alloc_stack (child_info_fork *ci)
static NO_COPY int mypid = 0;
int _declspec(dllexport) __argc;
char _declspec(dllexport) **__argv;
+vfork_save NO_COPY *main_vfork = NULL;
void
sigthread::init (const char *s)
@@ -644,6 +645,7 @@ dll_crt0_1 ()
events_init ();
cygheap->cwd.init ();
+ main_vfork = vfork_storage.create ();
cygbench ("pre-forkee");
if (user_data->forkee)