diff options
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 940f8d170..b43746cae 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -494,6 +494,10 @@ skip_arg_parsing: } init_child_info (chtype, ciresrv, (mode == _P_OVERLAY) ? myself->pid : 1, spr); + if (mode != _P_OVERLAY || + !DuplicateHandle (hMainProc, myself.shared_handle (), hMainProc, &ciresrv->myself_pinfo, 0, + TRUE, DUPLICATE_SAME_ACCESS)) + ciresrv->myself_pinfo = NULL; LPBYTE resrv = si.lpReserved2 + sizeof *ciresrv; # undef ciresrv |