diff --git a/src/libs/utils/process_ctrlc_stub.cpp b/src/libs/utils/process_ctrlc_stub.cpp index 6f6905f931ef6d36b76661524a88967350cdccd8..f4179f267ea2cd87f9e2ebe3934c463e1990fe3f 100644 --- a/src/libs/utils/process_ctrlc_stub.cpp +++ b/src/libs/utils/process_ctrlc_stub.cpp @@ -165,6 +165,7 @@ DWORD WINAPI processWatcherThread(LPVOID lpParameter) DWORD dwExitCode; if (!GetExitCodeProcess(hProcess, &dwExitCode)) dwExitCode = -1; + CloseHandle(hProcess); PostMessage(hwndMain, WM_DESTROY, dwExitCode, 0); return 0; } @@ -185,6 +186,7 @@ bool startProcess(wchar_t *pCommandLine) fwprintf(stderr, L"qtcreator_ctrlc_stub: Command line failed: %s\n", pCommandLine); return false; } + CloseHandle(pi.hThread); HANDLE hThread = CreateThread(NULL, 0, processWatcherThread, reinterpret_cast<void*>(pi.hProcess), 0, NULL); if (!hThread) {