================ @@ -936,3 +936,7 @@ size_t StackFrameList::GetStatus(Stream &strm, uint32_t first_frame, strm.IndentLess(); return num_frames_displayed; } + +void StackFrameList::ClearSelectedFrameIndex() { ---------------- Michael137 wrote:
Hmm we also write to `m_selected_frame_idx` in `StackFrameList::SetSelectedFrame`, which holds a `shared_lock`. I think after the refactor to make the lock non-recursive, we lost some of protection against concurrent modifications to `m_selected_frame_idx`. Probably because it wasn't ever clear what `m_list_mutex` is supposed to protect (the entire class or just the frames collection). And we end up calling `GetSelectedFrameIndex` from `SetSelectedFrame`, so we would need to recursively lock. Unless introduce a separate mutex for `m_selected_frame_idx`, which I'm not a big fan of either tbh. Wdyt? https://github.com/llvm/llvm-project/pull/133078 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits