BUG: Corrected detection of exceptional exit code.

This commit is contained in:
Brad King 2004-01-28 10:59:46 -05:00
parent e27ad7eb97
commit d23636d48b
1 changed files with 3 additions and 3 deletions

View File

@ -1334,7 +1334,7 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout)
{ {
/* The children exited. Report the outcome of the last process. */ /* The children exited. Report the outcome of the last process. */
cp->ExitCode = cp->CommandExitCodes[cp->NumberOfCommands-1]; cp->ExitCode = cp->CommandExitCodes[cp->NumberOfCommands-1];
if(cp->ExitCode & 0xC0000000) if((cp->ExitCode & 0xF0000000) == 0xC0000000)
{ {
/* Child terminated due to exceptional behavior. */ /* Child terminated due to exceptional behavior. */
cp->State = kwsysProcess_State_Exception; cp->State = kwsysProcess_State_Exception;
@ -1343,10 +1343,10 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout)
} }
else else
{ {
/* Child exited normally. */ /* Child exited without exception. */
cp->State = kwsysProcess_State_Exited; cp->State = kwsysProcess_State_Exited;
cp->ExitException = kwsysProcess_Exception_None; cp->ExitException = kwsysProcess_Exception_None;
cp->ExitValue = cp->ExitCode & 0x000000FF; cp->ExitValue = cp->ExitCode;
} }
} }