[RFC PATCH v5 1/9] libcamera: process: Disable copy/move
Barnabás Pőcze
barnabas.pocze at ideasonboard.com
Thu Apr 24 13:40:55 CEST 2025
A `Process` object has address identity because a pointer to it is
stored inside the `ProcessManager`. However, copy/move special
methods are still generated by the compiler. So disable them to
avoid potential issues and confusion.
Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
include/libcamera/internal/process.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/libcamera/internal/process.h b/include/libcamera/internal/process.h
index b1d07a5a5..6c34aef2f 100644
--- a/include/libcamera/internal/process.h
+++ b/include/libcamera/internal/process.h
@@ -11,6 +11,7 @@
#include <string>
#include <vector>
+#include <libcamera/base/class.h>
#include <libcamera/base/signal.h>
#include <libcamera/base/unique_fd.h>
@@ -42,6 +43,8 @@ public:
Signal<enum ExitStatus, int> finished;
private:
+ LIBCAMERA_DISABLE_COPY_AND_MOVE(Process)
+
void closeAllFdsExcept(const std::vector<int> &fds);
int isolate();
void died(int wstatus);
--
2.49.0
More information about the libcamera-devel
mailing list