2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
5 Find out the status of a child task.
7 #include "exec_intern.h"
8 #include <proto/exec.h>
10 /*****************************************************************************
14 AROS_LH1(ULONG
, ChildStatus
,
17 AROS_LHA(APTR
, tid
, D0
),
20 struct ExecBase
*, SysBase
, 125, Exec
)
23 Return the status of a child task. This allows the Task to
24 determine whether a particular child task is still running or not.
27 tid -- The ID of the task to examine. Note that this is _NOT_
31 One of the CHILD_* values.
43 *****************************************************************************/
50 ULONG status
= CHILD_NOTFOUND
;
52 this = FindTask(NULL
);
53 if ((this->tc_Flags
& TF_ETASK
) == 0)
56 et
= this->tc_UnionETask
.tc_ETask
;
61 /* Search through the running tasks list */
62 ForeachNode(&et
->et_Children
, child
)
64 if (child
->et_UniqueID
== (ULONG
)tid
)
66 status
= CHILD_ACTIVE
;
71 ForeachNode(&et
->et_TaskMsgPort
.mp_MsgList
, child
)
73 if (child
->et_UniqueID
== (ULONG
)tid
)
75 status
= CHILD_EXITED
;