diff options
Diffstat (limited to 'winsup/cygwin/fork.cc')
-rw-r--r-- | winsup/cygwin/fork.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc index a9117e7c8..374eb0fdb 100644 --- a/winsup/cygwin/fork.cc +++ b/winsup/cygwin/fork.cc @@ -557,11 +557,8 @@ fork () grouped.load_dlls = 0; int res; - void *esp; int ischild; - __asm__ volatile ("movl %%esp,%0": "=r" (esp)); - myself->set_has_pgid_children (); if (grouped.ch.parent == NULL) @@ -574,6 +571,10 @@ fork () sig_send (NULL, __SIGHOLD); ischild = setjmp (grouped.ch.jmp); + + void *esp; + __asm__ volatile ("movl %%esp,%0": "=r" (esp)); + if (!ischild) res = grouped.parent (esp); else |