summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Vuillaumier <julien.vuillaumier@nxp.com>2025-05-27 17:56:14 +0200
committerKieran Bingham <kieran.bingham@ideasonboard.com>2025-05-29 12:30:12 +0100
commit32905fdd0b63a10886dc43bd8d0a0b2e843de47b (patch)
tree583f6f3a4b9c9c6aa2f1fd30c6a9a9b5c91f6668
parentf58077f073f74f3b8f325e0d75822f029b32c597 (diff)
libcamera: process: Use _exit in child process
Use _exit() in child process in case of execv() error. That is to avoid interfering with the parent process as exit() may call its atexit() handlers and flush its io buffers. Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/libcamera/process.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
index 68fad327..7f3a6518 100644
--- a/src/libcamera/process.cpp
+++ b/src/libcamera/process.cpp
@@ -274,7 +274,7 @@ int Process::start(const std::string &path,
execv(path.c_str(), (char **)argv);
- exit(EXIT_FAILURE);
+ _exit(EXIT_FAILURE);
}
}