BUG: Corrected detection of exceptional exit code.
This commit is contained in:
parent
e27ad7eb97
commit
d23636d48b
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue