bool isLauncherProcessDead(PlatformProcess& launcher) { if (!launcher.isValid()) { return true; } return (::getppid() != launcher.nativeHandle()); }
bool isLauncherProcessDead(PlatformProcess &launcher) { DWORD code = 0; if (!::GetExitCodeProcess(launcher.nativeHandle(), &code)) { // TODO(#1991): If an error occurs with GetExitCodeProcess, do we want to // return a Status object to describe the error with more granularity? return false; } return (code != STILL_ACTIVE); }
ProcessState checkChildProcessStatus(const PlatformProcess &process, int &status) { DWORD exit_code = 0; if (!::GetExitCodeProcess(process.nativeHandle(), &exit_code)) { return PROCESS_ERROR; } if (exit_code == STILL_ACTIVE) { return PROCESS_STILL_ALIVE; } status = exit_code; return PROCESS_EXITED; }
bool PlatformProcess::operator!=(const PlatformProcess& process) const { return (nativeHandle() != process.nativeHandle()); }
bool PlatformProcess::operator!=(const PlatformProcess &process) const { return (::GetProcessId(nativeHandle()) != ::GetProcessId(process.nativeHandle())); }