diff --git a/src/platforms/posix/px4_layer/px4_posix_tasks.cpp b/src/platforms/posix/px4_layer/px4_posix_tasks.cpp index 8945ace297..1f18a46d98 100644 --- a/src/platforms/posix/px4_layer/px4_posix_tasks.cpp +++ b/src/platforms/posix/px4_layer/px4_posix_tasks.cpp @@ -50,6 +50,7 @@ #include #include #include +#include #include #include @@ -172,10 +173,13 @@ px4_task_t px4_task_spawn_cmd(const char *name, int scheduler, int priority, int return (rv < 0) ? rv : -rv; } + if (stack_size < PTHREAD_STACK_MIN) { + stack_size = PTHREAD_STACK_MIN; + } rv = pthread_attr_setstacksize(&attr, stack_size); if (rv != 0) { - PX4_ERR("pthread_attr_setstacksize returned error"); + PX4_ERR("pthread_attr_setstacksize to %d returned error (%d)", stack_size, rv); return (rv < 0) ? rv : -rv; }