From 3aab4d2daf9ddcb334e23ff27bc39389e5b31b63 Mon Sep 17 00:00:00 2001 From: Jukka Laitinen Date: Thu, 14 Jan 2021 15:20:49 +0200 Subject: [PATCH] px4_task_spawn_cmd: launch kernel thread in protected/kernel build on kernel side Also task name is accessible only in kernel side for protected/kernel build Signed-off-by: Jukka Laitinen --- platforms/nuttx/src/px4/common/tasks.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/platforms/nuttx/src/px4/common/tasks.cpp b/platforms/nuttx/src/px4/common/tasks.cpp index 132afcb41b..9ad860dc18 100644 --- a/platforms/nuttx/src/px4/common/tasks.cpp +++ b/platforms/nuttx/src/px4/common/tasks.cpp @@ -42,6 +42,7 @@ #include #include +#include #include #include @@ -67,8 +68,12 @@ int px4_task_spawn_cmd(const char *name, int scheduler, int priority, int stack_ clearenv(); #endif +#if !defined(__KERNEL__) /* create the task */ int pid = task_create(name, priority, stack_size, entry, argv); +#else + int pid = kthread_create(name, priority, stack_size, entry, argv); +#endif if (pid > 0) { /* configure the scheduler */ @@ -88,7 +93,7 @@ int px4_task_delete(int pid) const char *px4_get_taskname(void) { -#if CONFIG_TASK_NAME_SIZE > 0 +#if CONFIG_TASK_NAME_SIZE > 0 && (defined(__KERNEL__) || defined(CONFIG_BUILD_FLAT)) FAR struct tcb_s *thisproc = nxsched_self(); return thisproc->name;