Author: Jan Kiszka <jan.kis...@siemens.com>
Date: Wed Apr 28 15:11:48 2010 +0200
native: Clarify exclusiveness of rt_task_join vs. rt_task_delete
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
ksrc/skins/native/task.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/ksrc/skins/native/task.c b/ksrc/skins/native/task.c
index 6d2472e..43d33b3 100644
@@ -588,6 +588,9 @@ int rt_task_resume(RT_TASK *task)
* Rescheduling: always if @a task is NULL, and possible if the
* deleted task is currently running into a safe section.
+ * @note A task that was successfully joined via rt_task_join() must not be
+ * explicitly deleted afterwards.
int rt_task_delete(RT_TASK *task)
@@ -2407,8 +2410,9 @@ int rt_task_reply(int flowid, RT_TASK_MCB *mcb_s)
* @brief Wait on the termination of a real-time task.
* This user-space only service blocks the caller in non-real-time context
- * until @a task has terminated. Note that the specified task must have
- * been created with the T_JOINABLE mode flag set.
+ * until @a task has terminated. All real-time kernel resources are released
+ * on successful completion of this service. Note that the specified task must
+ * have been created with the T_JOINABLE mode flag set.
* @param task The address of a task descriptor to join.
@@ -2424,6 +2428,9 @@ int rt_task_reply(int flowid, RT_TASK_MCB *mcb_s)
* - User-space task.
* Rescheduling: always unless the task was already terminated.
+ * @note After successful completion of this service it is neither required
+ * nor valid to additionally invoke rt_task_delete() on the same task.
Xenomai-git mailing list