summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fork.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fork.cc')
-rw-r--r--winsup/cygwin/fork.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 0d4241975..1fcca437e 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -500,10 +500,12 @@ fork_parent (HANDLE& hParent, dll *&first_dll,
}
#ifdef DEBUGGING
- pinfo forked ((ch.cygpid != 1 ? ch.cygpid : cygwin_pid (pi.dwProcessId)), 1);
+ int forked_pid = ch.cygpid != 1 ? ch.cygpid : cygwin_pid (pi.dwProcessId);
#else
- pinfo forked (cygwin_pid (pi.dwProcessId), 1);
+ int forked_pid = cygwin_pid (pi.dwProcessId);
#endif
+ pinfo forked (forked_pid, 1);
+
if (!forked)
{
syscall_printf ("pinfo failed");
@@ -512,8 +514,6 @@ fork_parent (HANDLE& hParent, dll *&first_dll,
goto cleanup;
}
- int forked_pid;
-
/* Initialize things that are done later in dll_crt0_1 that aren't done
for the forkee. */
strcpy (forked->progname, myself->progname);
@@ -550,7 +550,6 @@ fork_parent (HANDLE& hParent, dll *&first_dll,
if (!sync_with_child (pi, subproc_ready, true, "waiting for longjmp"))
goto cleanup;
- forked_pid = forked->pid;
/* CHILD IS STOPPED */
debug_printf ("child is alive (but stopped)");