for(q = procs; q != NULL; q = q->next) {
for(q = dispatcher_procs; q != NULL; q = q->next) {
dispatcher_exit(struct dispatcher_proc *p){  struct dispatcher_proc *q;  unsigned char i;  /* Unlisten all signals. */  ek_unlisten(p->id);    /* If this process has any listening TCP ports, we remove them. */  for(i = 0; i < UIP_LISTENPORTS; ++i) {    if(listenports[i].id == p->id) {      listenports[i].port = 0;    }   }  /* Remove process from the process list. */  if(p == procs) {    procs = procs->next;      } else {    for(q = procs; q != NULL; q = q->next) {      if(q->next == p) {	q->next = p->next;	break;      }    }  }}