mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-21 23:50:36 +08:00
Add logic to automatically unload module on exit; Several patches from Mike Smith
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5528 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -142,8 +142,17 @@ static void bultin_semtake(FAR sem_t *sem)
|
||||
|
||||
static int builtin_taskcreate(int index, FAR const char **argv)
|
||||
{
|
||||
FAR const struct builtin_s *b;
|
||||
int ret;
|
||||
|
||||
b = builtin_for_index(index);
|
||||
|
||||
if (b == NULL)
|
||||
{
|
||||
errno = ENOENT;
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
/* Disable pre-emption. This means that although we start the builtin
|
||||
* application here, it will not actually run until pre-emption is
|
||||
* re-enabled below.
|
||||
@@ -153,8 +162,7 @@ static int builtin_taskcreate(int index, FAR const char **argv)
|
||||
|
||||
/* Start the builtin application task */
|
||||
|
||||
ret = TASK_CREATE(g_builtins[index].name, g_builtins[index].priority,
|
||||
g_builtins[index].stacksize, g_builtins[index].main,
|
||||
ret = TASK_CREATE(b->name, b->priority, b->stacksize, b->main,
|
||||
(argv) ? &argv[1] : (FAR const char **)NULL);
|
||||
|
||||
/* If robin robin scheduling is enabled, then set the scheduling policy
|
||||
@@ -171,7 +179,7 @@ static int builtin_taskcreate(int index, FAR const char **argv)
|
||||
* new task cannot yet have changed from its initial value.
|
||||
*/
|
||||
|
||||
param.sched_priority = g_builtins[index].priority;
|
||||
param.sched_priority = b->priority;
|
||||
(void)sched_setscheduler(ret, SCHED_RR, ¶m);
|
||||
}
|
||||
#endif
|
||||
@@ -293,8 +301,6 @@ static inline int builtin_startproxy(int index, FAR const char **argv,
|
||||
int errcode;
|
||||
int ret;
|
||||
|
||||
DEBUGASSERT(path);
|
||||
|
||||
svdbg("index=%d argv=%p redirfile=%s oflags=%04x\n",
|
||||
index, argv, redirfile, oflags);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user