Lines Matching refs:PI
171 static bool Execute(ProcessInfo &PI, StringRef Program,
302 PI.Pid = pi.dwProcessId;
303 PI.Process = pi.hProcess;
393 ProcessInfo sys::Wait(const ProcessInfo &PI, unsigned SecondsToWait,
395 assert(PI.Pid && "invalid pid to wait on, process not started?");
396 assert((PI.Process && PI.Process != INVALID_HANDLE_VALUE) &&
404 ProcessInfo WaitResult = PI;
405 DWORD WaitStatus = WaitForSingleObject(PI.Process, milliSecondsToWait);
408 if (!TerminateProcess(PI.Process, 1)) {
414 CloseHandle(PI.Process);
417 WaitForSingleObject(PI.Process, INFINITE);
418 CloseHandle(PI.Process);
427 BOOL rc = GetExitCodeProcess(PI.Process, &status);
430 CloseHandle(PI.Process);