diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-02-07 09:57:43 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-02-07 09:57:43 +0000 |
commit | 3cb155a97f98f2f7e9e68b6c536b9bb3777e33d8 (patch) | |
tree | adca82de001a62e43b4fbdd791fcf1c71d7f2259 /winsup/cygwin/init.cc | |
parent | 3d1172c133fd09fb24058e57ea6dbe9409671817 (diff) | |
download | cygnal-3cb155a97f98f2f7e9e68b6c536b9bb3777e33d8.tar.gz cygnal-3cb155a97f98f2f7e9e68b6c536b9bb3777e33d8.tar.bz2 cygnal-3cb155a97f98f2f7e9e68b6c536b9bb3777e33d8.zip |
* init.cc (respawn_wow64_process): Exit with the exit code returned
by the respawned process.
Diffstat (limited to 'winsup/cygwin/init.cc')
-rw-r--r-- | winsup/cygwin/init.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc index 0f1827a63..5a4d5690b 100644 --- a/winsup/cygwin/init.cc +++ b/winsup/cygwin/init.cc @@ -122,6 +122,8 @@ respawn_wow64_process () { PROCESS_INFORMATION pi; STARTUPINFO si; + DWORD ret = 0; + GetStartupInfo (&si); if (!CreateProcessA (NULL, GetCommandLineA (), NULL, NULL, TRUE, CREATE_DEFAULT_ERROR_MODE @@ -131,8 +133,9 @@ respawn_wow64_process () CloseHandle (pi.hThread); if (WaitForSingleObject (pi.hProcess, INFINITE) == WAIT_FAILED) api_fatal ("Waiting for process %d failed, %E", pi.dwProcessId); + GetExitCodeProcess (pi.hProcess, &ret); CloseHandle (pi.hProcess); - ExitProcess (0); + ExitProcess (ret); } } |