From ec819737c18c54a5bcab660dbe282c1caa62beb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beat=20K=C3=BCng?= <beat-kueng@gmx.net>
Date: Wed, 6 Apr 2016 09:53:27 +0200
Subject: [PATCH] systemlib: make err() & errx() work for POSIX

---
 src/modules/systemlib/err.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/modules/systemlib/err.h b/src/modules/systemlib/err.h
index 05401128ef..35d028149e 100644
--- a/src/modules/systemlib/err.h
+++ b/src/modules/systemlib/err.h
@@ -75,8 +75,11 @@ __EXPORT const char *getprogname(void);
 
 #ifdef __PX4_POSIX
 
-#define err(...)					ERROR
-#define errx(...)					ERROR
+#include <errno.h>
+#include <px4_tasks.h>
+#define err(eval, ...)					do { PX4_ERR(__VA_ARGS__); PX4_ERR("Task exited with errno=%i\n", errno); \
+							px4_task_exit(eval); } while(0)
+#define errx(eval, ...)				do { PX4_ERR(__VA_ARGS__); px4_task_exit(eval); } while(0)
 #define warn(...) 					PX4_WARN(__VA_ARGS__)
 #define warnx(...) 					PX4_WARN(__VA_ARGS__)
 
-- 
GitLab