From 119428fa1cbfd089961cf7b743dae55e06f06bf7 Mon Sep 17 00:00:00 2001 From: Jacopo Mondi Date: Fri, 19 Jul 2019 09:24:37 +0200 Subject: libcamera: process: Fail loudly on isolate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an error debug message when disassociating part of a process execution context using unshare fails. As this is currently used to isolate a child process which is immediately terminated silently if unshare fails, add a debug printout and propagate up the error code to make the failure more visible. Reviewed-by: Kieran Bingham Reviewed-by: Niklas Söderlund Reviewed-by: Paul Elder Reviewed-by: Laurent Pinchart Signed-off-by: Jacopo Mondi --- src/libcamera/process.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/libcamera/process.cpp') diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp index 6c41da21..ab716a9c 100644 --- a/src/libcamera/process.cpp +++ b/src/libcamera/process.cpp @@ -306,7 +306,15 @@ void Process::closeAllFdsExcept(const std::vector &fds) int Process::isolate() { - return unshare(CLONE_NEWUSER | CLONE_NEWNET); + int ret = unshare(CLONE_NEWUSER | CLONE_NEWNET); + if (ret) { + ret = -errno; + LOG(Process, Error) << "Failed to unshare execution context: " + << strerror(-ret); + return ret; + } + + return 0; } /** -- cgit v1.2.1