summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmProcess.cxx
diff options
context:
space:
mode:
authorBryon Bean <bryon.bean@kitware.com>2017-10-23 12:16:45 (GMT)
committerBrad King <brad.king@kitware.com>2018-01-10 15:19:14 (GMT)
commit3dd2edf4ab94f5044b73b20151592c8e94a5160a (patch)
tree06fa23b1b2e78bd60231c50786fa2402a0bb376a /Source/CTest/cmProcess.cxx
parent5238e6db70d275e42048479b737781fc97d82ea1 (diff)
downloadCMake-3dd2edf4ab94f5044b73b20151592c8e94a5160a.zip
CMake-3dd2edf4ab94f5044b73b20151592c8e94a5160a.tar.gz
CMake-3dd2edf4ab94f5044b73b20151592c8e94a5160a.tar.bz2
cmProcess: Use explicit enum for process state
Translate the values from KWSys Process.
Diffstat (limited to 'Source/CTest/cmProcess.cxx')
-rw-r--r--Source/CTest/cmProcess.cxx26
1 files changed, 21 insertions, 5 deletions
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index a599454..fac0df9 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -156,13 +156,29 @@ int cmProcess::GetNextOutputLine(std::string& line,
return cmsysProcess_Pipe_None;
}
-// return the process status
-int cmProcess::GetProcessStatus()
+cmProcess::State cmProcess::GetProcessStatus()
{
- if (!this->Process) {
- return cmsysProcess_State_Exited;
+ if (this->Process) {
+ switch (cmsysProcess_GetState(this->Process)) {
+ case cmsysProcess_State_Starting:
+ return State::Starting;
+ case cmsysProcess_State_Error:
+ return State::Error;
+ case cmsysProcess_State_Exception:
+ return State::Exception;
+ case cmsysProcess_State_Executing:
+ return State::Executing;
+ case cmsysProcess_State_Expired:
+ return State::Expired;
+ case cmsysProcess_State_Killed:
+ return State::Killed;
+ case cmsysProcess_State_Disowned:
+ return State::Disowned;
+ default: // case cmsysProcess_State_Exited:
+ break;
+ }
}
- return cmsysProcess_GetState(this->Process);
+ return State::Exited;
}
void cmProcess::ChangeTimeout(std::chrono::duration<double> t)