MCPcopy Create free account
hub / github.com/ModOrganizer2/modorganizer / singleWait

Function singleWait

src/processrunner.cpp:57–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55}
56
57std::optional<ProcessRunner::Results> singleWait(HANDLE handle, DWORD pid)
58{
59 if (handle == INVALID_HANDLE_VALUE) {
60 return ProcessRunner::Error;
61 }
62
63 const auto res = WaitForSingleObject(handle, 50);
64
65 switch (res) {
66 case WAIT_OBJECT_0: {
67 log::debug("process {} completed", pid);
68 return ProcessRunner::Completed;
69 }
70
71 case WAIT_TIMEOUT: {
72 // still running
73 return {};
74 }
75
76 case WAIT_FAILED: // fall-through
77 default: {
78 // error
79 const auto e = ::GetLastError();
80 log::error("failed waiting for {}, {}", pid, formatSystemMessage(e));
81 return ProcessRunner::Error;
82 }
83 }
84}
85
86enum class Interest
87{

Callers 1

timedWaitFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected