diff options
Diffstat (limited to 'contrib/llvm-project/lldb/source/Target/ModuleCache.cpp')
| -rw-r--r-- | contrib/llvm-project/lldb/source/Target/ModuleCache.cpp | 29 |
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()); } |
