summaryrefslogtreecommitdiffstats
path: root/PC/w9xpopen.c
diff options
context:
space:
mode:
authorMark Hammond <mhammond@skippinet.com.au>2000-08-14 05:04:28 (GMT)
committerMark Hammond <mhammond@skippinet.com.au>2000-08-14 05:04:28 (GMT)
commitfb439abbc9bbec93ff11d1c9ddf268bb8e415900 (patch)
treebf3a34119b857db8ed4c3d2c193839bb103da248 /PC/w9xpopen.c
parentb37a3734960b0d4c06665e41b0451b6f814f1cb6 (diff)
downloadcpython-fb439abbc9bbec93ff11d1c9ddf268bb8e415900.zip
cpython-fb439abbc9bbec93ff11d1c9ddf268bb8e415900.tar.gz
cpython-fb439abbc9bbec93ff11d1c9ddf268bb8e415900.tar.bz2
Patch #101032, from David Bolen:
Ensure the "proxied" command's return code bubbles back up.
Diffstat (limited to 'PC/w9xpopen.c')
-rw-r--r--PC/w9xpopen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/PC/w9xpopen.c b/PC/w9xpopen.c
index 160238c..d96d0f5 100644
--- a/PC/w9xpopen.c
+++ b/PC/w9xpopen.c
@@ -27,6 +27,7 @@ int main(int argc, char *argv[])
BOOL bRet;
STARTUPINFO si;
PROCESS_INFORMATION pi;
+ DWORD exit_code=0;
if (argc != 2) {
MessageBox(NULL, usage, argv[0], MB_OK);
@@ -50,10 +51,12 @@ int main(int argc, char *argv[])
);
if (bRet) {
- WaitForSingleObject(pi.hProcess, INFINITE);
+ if (WaitForSingleObject(pi.hProcess, INFINITE) != WAIT_FAILED) {
+ GetExitCodeProcess(pi.hProcess, &exit_code);
+ }
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
- return 0;
+ return exit_code;
}
return 1;