summaryrefslogtreecommitdiff
path: root/nuttx/sched/task_init.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-25 19:15:05 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-25 19:15:05 +0000
commite1ff898b022bc77ede6ba57e8ecb46f0af306149 (patch)
treeeb49c2f705d2255cc6f05a7ee433aa87472c8a88 /nuttx/sched/task_init.c
parentf2933cc4b65836a712f1ab996512999959a8c48a (diff)
downloadpx4-nuttx-e1ff898b022bc77ede6ba57e8ecb46f0af306149.tar.gz
px4-nuttx-e1ff898b022bc77ede6ba57e8ecb46f0af306149.tar.bz2
px4-nuttx-e1ff898b022bc77ede6ba57e8ecb46f0af306149.zip
Add logic to keep track of members of a task group
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5563 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/sched/task_init.c')
-rw-r--r--nuttx/sched/task_init.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/nuttx/sched/task_init.c b/nuttx/sched/task_init.c
index 5ba6b7e7d..6ae643948 100644
--- a/nuttx/sched/task_init.c
+++ b/nuttx/sched/task_init.c
@@ -126,7 +126,7 @@ int task_init(FAR _TCB *tcb, const char *name, int priority,
/* Create a new task group */
#ifdef HAVE_TASK_GROUP
- ret = group_create(tcb);
+ ret = group_allocate(tcb);
if (ret < 0)
{
errcode = -ret;
@@ -168,6 +168,17 @@ int task_init(FAR _TCB *tcb, const char *name, int priority,
/* Setup to pass parameters to the new task */
(void)task_argsetup(tcb, name, argv);
+
+ /* Now we have enough in place that we can join the group */
+
+#ifdef HAVE_TASK_GROUP
+ ret = group_initialize(tcb);
+ if (ret < 0)
+ {
+ errcode = -ret;
+ goto errout_with_env;
+ }
+#endif
return OK;
errout_with_env: