[Lldb-commits] [lldb] [lldb] Preserve FIFO order for equal time MainLoop callbacks (PR #199056)
Charles Zablit via lldb-commits
lldb-commits at lists.llvm.org
Mon Jun 1 03:31:14 PDT 2026
================
@@ -99,11 +102,26 @@ class MainLoopBase {
std::optional<TimePoint> GetNextWakeupTime();
std::mutex m_callback_mutex;
- std::priority_queue<std::pair<TimePoint, Callback>,
- std::vector<std::pair<TimePoint, Callback>>,
- llvm::on_first<std::greater<TimePoint>>>
- m_callbacks;
- bool m_terminate_request : 1;
+
+ struct CallbackEntry {
+ TimePoint time_point;
+ Callback callback;
+
+ CallbackEntry(TimePoint tp, Callback cb, uint64_t seq)
+ : time_point(std::move(tp)), callback(std::move(cb)), sequence(seq) {}
+
+ bool operator<(const CallbackEntry &other) const {
+ return std::tie(time_point, sequence) >
----------------
charles-zablit wrote:
We want a min-priority queue here. I added a comment to clarify.
https://github.com/llvm/llvm-project/pull/199056
More information about the lldb-commits
mailing list