diff options
Diffstat (limited to 'contrib/llvm/lib/Support/Windows/Program.inc')
-rw-r--r-- | contrib/llvm/lib/Support/Windows/Program.inc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/contrib/llvm/lib/Support/Windows/Program.inc b/contrib/llvm/lib/Support/Windows/Program.inc index c370077..c29d872 100644 --- a/contrib/llvm/lib/Support/Windows/Program.inc +++ b/contrib/llvm/lib/Support/Windows/Program.inc @@ -14,6 +14,7 @@ #include "WindowsSupport.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Support/ConvertUTF.h" +#include "llvm/Support/Errc.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/WindowsError.h" #include "llvm/Support/raw_ostream.h" @@ -434,7 +435,8 @@ ProcessInfo sys::Wait(const ProcessInfo &PI, unsigned SecondsToWait, DWORD status; BOOL rc = GetExitCodeProcess(PI.ProcessHandle, &status); DWORD err = GetLastError(); - CloseHandle(PI.ProcessHandle); + if (err != ERROR_INVALID_HANDLE) + CloseHandle(PI.ProcessHandle); if (!rc) { SetLastError(err); @@ -513,7 +515,7 @@ llvm::sys::writeFileWithEncoding(StringRef FileName, StringRef Contents, } if (OS.has_error()) - return std::make_error_code(std::errc::io_error); + return make_error_code(errc::io_error); return EC; } |