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-06-06 16:45:46 -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-03-24 12:22:20 -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-05-13 09:59:35 -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-05-29 16:32:47 -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-05-29 16:32:47 -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-29 16:32:47 -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-05-08 10:10:21 -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