[libcamera-devel] [PATCH v2 1/2] libcamera: process: Properly ignore unused result with gcc

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Aug 19 19:02:48 CEST 2019


Casting the return value of a function to (void) doesn't ignore the
unused result warning with gcc. Use a #pragma to fix this properly, to
fix compilation with _FORTIFY_SOURCE.

Fixes: df23ab95f3d7 ("libcamera: process: fix compilation on Chromium OS")
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/libcamera/process.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
index ab716a9cd57f..3b4d0f10da67 100644
--- a/src/libcamera/process.cpp
+++ b/src/libcamera/process.cpp
@@ -68,10 +68,15 @@ namespace {
 
 void sigact(int signal, siginfo_t *info, void *ucontext)
 {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-result"
+	/*
+	 * We're in a signal handler so we can't log any message, and we need
+	 * to continue anyway.
+	 */
 	char data = 0;
-	/* We're in a signal handler so we can't log any message,
-	 * and we need to continue anyway. */
-	(void)write(ProcessManager::instance()->writePipe(), &data, sizeof(data));
+	write(ProcessManager::instance()->writePipe(), &data, sizeof(data));
+#pragma GCC diagnostic pop
 
 	const struct sigaction &oldsa = ProcessManager::instance()->oldsa();
 	if (oldsa.sa_flags & SA_SIGINFO) {
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list