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