if(procs == NULL) { procs = p; } else { p->next = procs; procs = p; }
p->next = procs; procs = p;
dispatcher_start(struct dispatcher_proc *p){  ek_id_t id;  struct dispatcher_proc *q;   again:  id = ids++;  /* Check if this ID is use. */  for(q = procs; q != NULL; q = q->next) {    if(id == q->id) {      goto again;    }  }    if(procs == NULL) {    procs = p;  } else {    p->next = procs;    procs = p;  }  p->id = id;  dispatcher_current = id;    return id;}