mirror of
https://github.com/pocoproject/poco.git
synced 2025-11-14 04:48:15 +01:00
#3022: Process::isRunning(PID pid) causes handle leak on Windows
This commit is contained in:
@@ -411,9 +411,17 @@ bool ProcessImpl::isRunningImpl(PIDImpl pid)
|
||||
{
|
||||
HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
|
||||
bool result = true;
|
||||
DWORD exitCode;
|
||||
BOOL rc = GetExitCodeProcess(hProc, &exitCode);
|
||||
if (!rc || exitCode != STILL_ACTIVE) result = false;
|
||||
if (hProc)
|
||||
{
|
||||
DWORD exitCode;
|
||||
BOOL rc = GetExitCodeProcess(hProc, &exitCode);
|
||||
if (!rc || exitCode != STILL_ACTIVE) result = false;
|
||||
CloseHandle(hProc);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user