[RFC PATCH v3 0/9] libcamera: process: Remove `ProcessManager` singleton
Barnabás Pőcze
barnabas.pocze at ideasonboard.com
Tue Mar 25 19:08:12 CET 2025
The main goal is to remove the need for the ProcessManager singleton. That
is achieved by using pidfd + clone3(), which raises the minimum
kernel version to 5.4. There are also additional misc. changes.
v2: https://patchwork.libcamera.org/patch/22609/
v1: https://patchwork.libcamera.org/patch/22522/
Barnabás Pőcze (9):
libcamera: process: Disable copy/move
libcamera: process: Misc. cleanup around `execv()`
libcamera: process: Use `pid_` member to decide if running
libcamera: process: Return error if already running
libcamera: process: Ensure that file descriptors are nonnegative
libcamera: process: Use span instead of vector
libcamera: process: Move `closeAllFdsExcept()`
libcamera: process: Use `close_range()` when available
libcamera: process: Remove `ProcessManager` singleton
include/libcamera/internal/camera_manager.h | 1 -
include/libcamera/internal/process.h | 42 +--
meson.build | 6 +-
src/libcamera/ipc_pipe_unixsocket.cpp | 9 +-
src/libcamera/process.cpp | 303 ++++++--------------
test/ipc/unixsocket_ipc.cpp | 2 -
test/log/log_process.cpp | 2 -
test/process/process_test.cpp | 7 +-
8 files changed, 112 insertions(+), 260 deletions(-)
--
2.49.0
More information about the libcamera-devel
mailing list