Files
OpenSTA/include/sta
Drew Lewis b3458485ba Dont spin main for queue (#443)
* Use DynamicLatch in DispatchQueue to avoid main thread spinning

Replace the busy-yielding pending_task_count_ loop in DispatchQueue::finishTasks
with a blocking DynamicLatch. This avoids having the main thread consume CPU
cycles while waiting for dispatched tasks to complete.

The DynamicLatch implementation uses C++20 std::atomic::wait/notify_all for
efficient blocking and wakeup, with proper release-acquire semantics to ensure
task results are visible to the waiting thread.

* Reformat DynamicLatch to match DispatchQueue style

* Update attribution headers in DispatchQueue files to note modifications
2026-06-06 16:45:46 -07:00
..
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-05-05 16:41:14 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-25 10:35:42 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-05-02 10:36:07 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-05-27 10:44:55 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-18 08:45:04 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-25 10:35:42 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-06-06 11:55:51 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-05-05 16:41:14 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-25 10:40:14 -07:00
2026-04-16 18:42:26 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-05-28 12:43:10 -07:00
2026-04-24 11:54:28 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-05-27 10:50:44 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-18 11:39:03 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-03-10 14:57:45 -07:00