#screen hires
#colors from "ram:luckp"
#picture 0,0,"ram:luckp"
#pens 1,0
#move 110,2
40
#move 248,2
Programación en C 8/9
#move 0,20
#pens 1,15
-->
algo la subtarea se acaba. Este último
parámetro suele dejarse con  el  valor
por  defecto  que  es  equivalente   a
RemTask. AddTask  no  devuelve  ningún
resultado.

   Un  ejemplo  de  la creación de una
subtarea puede ser:

void main()
{
struct Task *tarea;
APTR pila;

    tarea = (struct Task *) AllocMem
    (sizeof(struct Stack),MEMF_PUBLIC|
    MEMF_CLEAR);

    pila = (APTR) AllocMem (1024L,0L);

    tarea->tc_SPLower = pila;

    tarea->tc_SPUpper = (APTR) (1024L+
    (ULONG) pila);
#move 336,20
    tarea->tc_SPReg=tarea->tc_SPUpper;
    tarea->tc_Node.ln_Type = NT_TASK;
    tarea->tc_Node.ln_Pri = 0;
    tarea->tc_Node.ln_Name = "tarea";

    AddTask (tarea,subtarea,0);

    /* resto del código */

}
    Con esto hemos hecho casi lo mismo
que con CreateTask, y por supuesto, la
función  complementaria  es   RemTask,
cuyo único  parámetro  es  un  puntero
a nuestra estructura Task.  Ojo,  aqui
la pila y la  estructura  Task  no  se
borran  automaticamente  al  llamar  a
RemTask, sino que hay que hacer un par
de llamadas a la funcion FreeMem, asi:

   /* resto del código */
   RemTask (tarea);
   FreeMem (pila,1024L);
   FreeMem (tarea,sizeof(structTask));
}                                  -->
