[all-commits] [llvm/llvm-project] db61d1: [orc-rt] Refactor QueueingTaskDispatcher to use an...
Lang Hames via All-commits
all-commits at lists.llvm.org
Wed Apr 8 04:27:35 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: db61d1c24512f106d2c7392e5a7dcb499418e39a
https://github.com/llvm/llvm-project/commit/db61d1c24512f106d2c7392e5a7dcb499418e39a
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
M orc-rt/include/orc-rt/QueueingTaskDispatcher.h
M orc-rt/lib/executor/QueueingTaskDispatcher.cpp
M orc-rt/unittests/QueueingTaskDispatcherTest.cpp
Log Message:
-----------
[orc-rt] Refactor QueueingTaskDispatcher to use an external TaskQueue. (#190920)
QueueingTaskDispatcher now takes a TaskQueue by reference rather than
maintaining an internal queue. This lets API clients retain direct
access to the queue after transferring dispatcher ownership to the
Session.
TaskQueue operations (takeFirstIn, takeLastIn) are blocking: callers
wait until a task arrives or the queue is shut down. This enables a
simple client idiom:
```
QueueingTaskDispatcher::TaskQueue TQ;
Session S(std::make_unique<QueueingTaskDispatcher>(TQ), ...);
S.attach(<controller access>);
while (auto T = TQ.takeFirstIn())
T->run();
```
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list