[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