================
@@ -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

Reply via email to