summaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lldb/source/Target/ModuleCache.cpp')
-rw-r--r--contrib/llvm-project/lldb/source/Target/ModuleCache.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp b/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp
index 124cdacfb4d2..444c9806f98b 100644
--- a/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp
+++ b/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp
@@ -48,7 +48,7 @@ std::string GetEscapedHostname(const char *hostname) {
class ModuleLock {
private:
- FileUP m_file_up;
+ File m_file;
std::unique_ptr<lldb_private::LockFile> m_lock;
FileSpec m_file_spec;
@@ -94,8 +94,9 @@ void DeleteExistingModule(const FileSpec &root_dir_spec,
Status error;
ModuleLock lock(root_dir_spec, module_uuid, error);
if (error.Fail()) {
- LLDB_LOGF(log, "Failed to lock module %s: %s",
- module_uuid.GetAsString().c_str(), error.AsCString());
+ if (log)
+ log->Printf("Failed to lock module %s: %s",
+ module_uuid.GetAsString().c_str(), error.AsCString());
}
namespace fs = llvm::sys::fs;
@@ -157,19 +158,16 @@ ModuleLock::ModuleLock(const FileSpec &root_dir_spec, const UUID &uuid,
return;
m_file_spec = JoinPath(lock_dir_spec, uuid.GetAsString().c_str());
-
- auto file = FileSystem::Instance().Open(
- m_file_spec, File::eOpenOptionWrite | File::eOpenOptionCanCreate |
- File::eOpenOptionCloseOnExec);
- if (file)
- m_file_up = std::move(file.get());
- else {
- m_file_up.reset();
- error = Status(file.takeError());
+ FileSystem::Instance().Open(m_file, m_file_spec,
+ File::eOpenOptionWrite |
+ File::eOpenOptionCanCreate |
+ File::eOpenOptionCloseOnExec);
+ if (!m_file) {
+ error.SetErrorToErrno();
return;
}
- m_lock.reset(new lldb_private::LockFile(m_file_up->GetDescriptor()));
+ m_lock.reset(new lldb_private::LockFile(m_file.GetDescriptor()));
error = m_lock->WriteLock(0, 1);
if (error.Fail())
error.SetErrorStringWithFormat("Failed to lock file: %s",
@@ -177,11 +175,10 @@ ModuleLock::ModuleLock(const FileSpec &root_dir_spec, const UUID &uuid,
}
void ModuleLock::Delete() {
- if (!m_file_up)
+ if (!m_file)
return;
- m_file_up->Close();
- m_file_up.reset();
+ m_file.Close();
llvm::sys::fs::remove(m_file_spec.GetPath());
}