https://bugs.kde.org/show_bug.cgi?id=342056

--- Comment #59 from Méven <[email protected]> ---
Git commit c3f5ec3bb42eda4ab41dc66e52331730d1d8d72a by Méven Car.
Committed on 08/07/2026 at 08:52.
Pushed by meven into branch 'master'.

core: run in-process workers over ThreadConnectionBackend, not a socket

Wire the socket-less thread backend into the in-process worker handshake.
Worker::createWorker pairs an application/worker ThreadConnectionBackend,
installs the application end on the worker's Connection, drops the listening
QLocalServer, and hands the worker end (as a std::unique_ptr) to WorkerThread,
which moves it to the worker thread. The worker adopts it through the new
SlaveBase::setConnectionBackend(std::unique_ptr<ConnectionBackend>) - taking
ownership and parenting it to the worker-side Connection - instead of
connecting to a socket address, so the SlaveBase ctor skips connectSlave() when
no app socket is given. Out-of-process workers are unchanged.

kio_file reads file content into owned QByteArrays (get() and read()),
honouring
the thread backend's no-copy contract; combined with the backend sharing the
payload this makes in-process file reads zero-copy.

M  +119  -38   autotests/threadtest.cpp
M  +13   -16   src/core/connection.cpp
M  +5    -6    src/core/connection_p.h
M  +10   -11   src/core/connectionserver.cpp
M  +1    -1    src/core/connectionserver.h
M  +11   -2    src/core/slavebase.cpp
M  +8    -0    src/core/slavebase.h
M  +4    -4    src/core/threadconnectionbackend.cpp
M  +4    -4    src/core/threadconnectionbackend_p.h
M  +127  -37   src/core/worker.cpp
M  +16   -1    src/core/worker_p.h
M  +11   -26   src/core/workerthread.cpp
M  +3    -22   src/core/workerthread_p.h
M  +10   -7    src/kioworkers/file/file.cpp

https://invent.kde.org/frameworks/kio/-/commit/c3f5ec3bb42eda4ab41dc66e52331730d1d8d72a

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to