summaryrefslogtreecommitdiff
path: root/winsup/cygwin/fork.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fork.cc')
-rw-r--r--winsup/cygwin/fork.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 20436291143..ed85e74cf02 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -533,6 +533,7 @@ fork ()
return -1;
}
+ lock_process now;
if (sig_send (NULL, __SIGHOLD))
{
if (exit_state)
@@ -547,7 +548,10 @@ fork ()
__asm__ volatile ("movl %%esp,%0": "=r" (esp));
if (ischild)
- res = grouped.child (esp);
+ {
+ res = grouped.child (esp);
+ now.dont_bother ();
+ }
else
{
res = grouped.parent (esp);