From 7106ab7ffd1eee6adb045d3bd0a3d559435e527d Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 7 Oct 2014 21:47:23 +0000 Subject: [PATCH] [Bugpoint] Close error log in ProcessFailure. Bugpoint had been failing to close this, and in some circumstances (e.g. reducing particularly large test-cases) this was causing bugpoint to be killed for hitting open file-handle limits. No test case: I was only able to trigger this with test cases taking upwards of 10 mins to run. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219244 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/ToolRunner.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp index a28b2856f1e..bdbcffbe926 100644 --- a/tools/bugpoint/ToolRunner.cpp +++ b/tools/bugpoint/ToolRunner.cpp @@ -141,21 +141,13 @@ static std::string ProcessFailure(StringRef ProgPath, const char** Args, // Rerun the compiler, capturing any error messages to print them. SmallString<128> ErrorFilename; - int ErrorFD; std::error_code EC = sys::fs::createTemporaryFile( - "bugpoint.program_error_messages", "", ErrorFD, ErrorFilename); + "bugpoint.program_error_messages", "", ErrorFilename); if (EC) { errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); } -#ifdef _WIN32 - // Close ErrorFD immediately, or it couldn't be reopened on Win32. - // FIXME: We may have an option in openFileForWrite(), not to use ResultFD - // but to close it. - delete new raw_fd_ostream(ErrorFD, true); -#endif - RunProgramWithTimeout(ProgPath, Args, "", ErrorFilename.str(), ErrorFilename.str(), Timeout, MemoryLimit); // FIXME: check return code ? -- 2.34.1