From: Gunnar Beutner Date: Mon, 17 Nov 2014 08:45:35 +0000 (+0100) Subject: Comment out InitializeProcThreadAttributeList (for now) X-Git-Tag: v2.2.0~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d16875b951b67ee8f940a61b176845e702b6d94;p=icinga2 Comment out InitializeProcThreadAttributeList (for now) fixes #7681 --- diff --git a/lib/base/process.cpp b/lib/base/process.cpp index fa6b04bf4..5e766bf0e 100644 --- a/lib/base/process.cpp +++ b/lib/base/process.cpp @@ -319,7 +319,7 @@ void Process::Run(const boost::function& callback) << boost::errinfo_api_function("DuplicateHandle") << errinfo_win32_error(GetLastError())); - LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; +/* LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; SIZE_T cbSize; if (!InitializeProcThreadAttributeList(NULL, 1, 0, &cbSize) && GetLastError() != ERROR_INSUFFICIENT_BUFFER) @@ -344,6 +344,7 @@ void Process::Run(const boost::function& callback) BOOST_THROW_EXCEPTION(win32_error() << boost::errinfo_api_function("UpdateProcThreadAttribute") << errinfo_win32_error(GetLastError())); +*/ STARTUPINFOEX si = {}; si.StartupInfo.cb = sizeof(si); @@ -351,7 +352,7 @@ void Process::Run(const boost::function& callback) si.StartupInfo.hStdOutput = outWritePipeDup; si.StartupInfo.hStdInput = GetStdHandle(STD_INPUT_HANDLE); si.StartupInfo.dwFlags = STARTF_USESTDHANDLES; - si.lpAttributeList = lpAttributeList; +// si.lpAttributeList = lpAttributeList; PROCESS_INFORMATION pi; @@ -412,13 +413,13 @@ void Process::Run(const boost::function& callback) envp[offset] = '\0'; if (!CreateProcess(NULL, args, NULL, NULL, TRUE, - EXTENDED_STARTUPINFO_PRESENT, envp, NULL, &si.StartupInfo, &pi)) { + 0 /*EXTENDED_STARTUPINFO_PRESENT*/, envp, NULL, &si.StartupInfo, &pi)) { DWORD error = GetLastError(); CloseHandle(outWritePipe); CloseHandle(outWritePipeDup); free(envp); - DeleteProcThreadAttributeList(lpAttributeList); - delete [] reinterpret_cast(lpAttributeList); +/* DeleteProcThreadAttributeList(lpAttributeList); + delete [] reinterpret_cast(lpAttributeList); */ m_Result.PID = 0; m_Result.ExecutionEnd = Utility::GetTime(); @@ -435,8 +436,8 @@ void Process::Run(const boost::function& callback) delete [] args; free(envp); - DeleteProcThreadAttributeList(lpAttributeList); - delete [] reinterpret_cast(lpAttributeList); +/* DeleteProcThreadAttributeList(lpAttributeList); + delete [] reinterpret_cast(lpAttributeList); */ CloseHandle(outWritePipe); CloseHandle(outWritePipeDup);