[all-commits] [llvm/llvm-project] daf48d: [orc-rt] Add a SimpleRemote transport over POSIX s...

Lang Hames via All-commits all-commits at lists.llvm.org
Tue Sep 22 06:23:52 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: daf48dd510921288c89d3b07bc642d2dd5a33998
      https://github.com/llvm/llvm-project/commit/daf48dd510921288c89d3b07bc642d2dd5a33998
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCAOverSocket.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    A orc-rt/lib/bedrock/sys/posix/sps/SimpleRemoteCAOverSocket.cpp
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp

  Log Message:
  -----------
  [orc-rt] Add a SimpleRemote transport over POSIX sockets (#225393)

A ControllerAccess speaking SimpleRemote over a connected stream socket.
The wire format matches LLVM's SimpleRemoteEPC. POSIX only -- Windows
needs a counterpart alongside the other sys/posix sources.

It owns a reactor thread built on poll(2) over the connection and a wake
socket. IO is non-blocking, so reads and writes resume wherever a
partial transfer stopped. The reactor is the only thread that sends;
callers on other threads append to a queue and wake it.

Reached through createSimpleRemoteCAOverSocket; the implementation is
file-local to the POSIX translation unit, so a Windows version needs no
header change.

The unit test drives it over a real socket pair, playing the controller
on the far end: framing, partial transfers, teardown ordering and the
malformed-message paths. The fixture owns the pair and the Session, so a
test body starts at the interesting part. It installs no on-disconnect
handler: Session reports the disconnect reason through reportError when
none is set, so a test that ends abnormally without asking for the error
fails rather than passing quietly.



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