* DevNotes: Add entry cgf-000007.

* child_info.h (child_info_spawn::parent_winpid): Declare new field.
(child_info_spawn::get_parent_handle): Declare new function.
* dcrt0.cc (child_info_spawn::get_parent_handle): Define new function.
(child_info_spawn::handle_spawn): Recreate parent handle if possible when
dynamically loaded.  Don't mess with parent handle if it's NULL.
* spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
This commit is contained in:
Christopher Faylor
2012-05-14 22:42:56 +00:00
parent 77009cee1e
commit 3de7be4c1d
6 changed files with 52 additions and 3 deletions

View File

@ -614,6 +614,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT, 0);
SetHandleInformation (parent, HANDLE_FLAG_INHERIT, 0);
}
parent_winpid = GetCurrentProcessId ();
/* When ruid != euid we create the new process under the current original
account and impersonate in child, this way maintaining the different