This revision was automatically updated to reflect the committed changes. Closed by commit rG0bdbe7bd7f15: [lldb] Fix data race in ConnectionFileDescriptor (authored by JDevlieghere). Herald added a project: LLDB.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157347/new/ https://reviews.llvm.org/D157347 Files: lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp Index: lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp =================================================================== --- lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp +++ lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp @@ -118,6 +118,7 @@ } bool ConnectionFileDescriptor::IsConnected() const { + std::lock_guard<std::recursive_mutex> guard(m_mutex); return m_io_sp && m_io_sp->IsValid(); } Index: lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h =================================================================== --- lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h +++ lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h @@ -131,7 +131,7 @@ lldb::IOObjectSP m_io_sp; Pipe m_pipe; - std::recursive_mutex m_mutex; + mutable std::recursive_mutex m_mutex; std::atomic<bool> m_shutting_down; // This marks that we are shutting down so // if we get woken up from // BytesAvailable to disconnect, we won't try to read again.
Index: lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp =================================================================== --- lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp +++ lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp @@ -118,6 +118,7 @@ } bool ConnectionFileDescriptor::IsConnected() const { + std::lock_guard<std::recursive_mutex> guard(m_mutex); return m_io_sp && m_io_sp->IsValid(); } Index: lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h =================================================================== --- lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h +++ lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h @@ -131,7 +131,7 @@ lldb::IOObjectSP m_io_sp; Pipe m_pipe; - std::recursive_mutex m_mutex; + mutable std::recursive_mutex m_mutex; std::atomic<bool> m_shutting_down; // This marks that we are shutting down so // if we get woken up from // BytesAvailable to disconnect, we won't try to read again.
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits