diff --git a/ProcessWin32.c b/ProcessWin32.c index ddf6a9514c94cde8335834269856454bbb55fec8..309a3f5f7f433b9f3be226c870adbebaea082002 100644 --- a/ProcessWin32.c +++ b/ProcessWin32.c @@ -975,10 +975,10 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout) &cp->ExitCode)) { /* The child exited. */ - cp->State = kwsysProcess_State_Exited; if(cp->ExitCode & 0xC0000000) { /* Child terminated due to exceptional behavior. */ + cp->State = kwsysProcess_State_Exception; switch (cp->ExitCode) { case CONTROL_C_EXIT: @@ -1016,6 +1016,7 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout) else { /* Child exited normally. */ + cp->State = kwsysProcess_State_Exited; cp->ExitException = kwsysProcess_Exception_None; cp->ExitValue = cp->ExitCode & 0x000000FF; }