summaryrefslogtreecommitdiff
path: root/winsup/cygwin/spawn.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r--winsup/cygwin/spawn.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index bebbf22ca3f..99ff063fc43 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -624,6 +624,10 @@ spawn_guts (const char * prog_arg, const char *const *argv,
{
saved_sendsig = myself->sendsig;
myself->sendsig = INVALID_HANDLE_VALUE;
+ if (!cygheap->pid_handle
+ && !DuplicateHandle (hMainProc, hMainProc, hMainProc, &cygheap->pid_handle,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
+ system_printf ("duplicate to pid_handle failed, %E");
}
/* Some file types (currently only sockets) need extra effort in the