From c57ea1b48f26caf7922bf434187e1c277f412550 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Mon, 17 Aug 2020 10:25:20 +0200 Subject: [PATCH] [lldb] Get lldb-server platform's --socket-file working again `lldb-server platform --socket-file /any/path` currently always fails to create the socket file. This stopped working after D67424 which changed the input variables of `writeFileAtomically` slightly. We're expected to pass in a temporary path template (`/tmp/foo-%%%%%`) and the final path we want to write. Instead we currently pass in the never set `temp_file_path` as the temporary path (which will make this function always fail) and pass in the temp_file_spec's path as the final path (which is actually the template path such as `/tmp/foo-%%%%%`) instead of the actual path we want to write (e.g. `/tmp/foo`). Reviewed By: labath Differential Revision: https://reviews.llvm.org/D85890 --- lldb/tools/lldb-server/lldb-platform.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lldb/tools/lldb-server/lldb-platform.cpp b/lldb/tools/lldb-server/lldb-platform.cpp index 33f918f..ba3b6c5 100644 --- a/lldb/tools/lldb-server/lldb-platform.cpp +++ b/lldb/tools/lldb-server/lldb-platform.cpp @@ -104,11 +104,12 @@ static Status save_socket_id_to_file(const std::string &socket_id, llvm::SmallString<64> temp_file_path; temp_file_spec.AppendPathComponent("port-file.%%%%%%"); + temp_file_path = temp_file_spec.GetPath(); Status status; if (auto Err = handleErrors(llvm::writeFileAtomically( - temp_file_path, temp_file_spec.GetPath(), socket_id), + temp_file_path, file_spec.GetPath(), socket_id), [&status, &file_spec](const AtomicFileWriteError &E) { std::string ErrorMsgBuffer; llvm::raw_string_ostream S(ErrorMsgBuffer); -- 2.7.4