diff options
| author | rsc <rsc> | 2007-08-08 08:38:38 +0000 | 
|---|---|---|
| committer | rsc <rsc> | 2007-08-08 08:38:38 +0000 | 
| commit | a7d18bb6f081e1520af7eeed4e3a633aafc81124 (patch) | |
| tree | b4e2040142fe78f5c1b74ce091b5920bfa130031 | |
| parent | 7366e042d9a7a21397115ca49c0d9344a9365ada (diff) | |
| download | xv6-labs-a7d18bb6f081e1520af7eeed4e3a633aafc81124.tar.gz xv6-labs-a7d18bb6f081e1520af7eeed4e3a633aafc81124.tar.bz2 xv6-labs-a7d18bb6f081e1520af7eeed4e3a633aafc81124.zip | |
comment tweaks; more informative process list
| -rw-r--r-- | proc.c | 20 | 
1 files changed, 17 insertions, 3 deletions
| @@ -163,7 +163,7 @@ copyproc(struct proc *p)  //  - choose a process to run  //  - longjmp to start running that process  //  - eventually that process transfers control back -//      via longjmp back to the top of scheduler. +//      via longjmp back to the scheduler.  void  scheduler(void)  { @@ -229,7 +229,7 @@ yield(void)  }  // A fork child's very first scheduling by scheduler() -// will longjmp here. "return" to user space. +// will longjmp here.  "Return" to user space.  void  forkret(void)  { @@ -390,6 +390,7 @@ proc_wait(void)            p->state = UNUSED;            p->pid = 0;            p->ppid = 0; +          p->name[0] = 0;            release(&proc_table_lock);            return pid;          } @@ -414,14 +415,27 @@ proc_wait(void)  void  procdump(void)  { +  static char *states[] = { +    "unused", +    "embryo", +    "sleep ", +    "runble", +    "run   ", +    "zombie" +  };    int i;    struct proc *p; +  char *state;    for(i = 0; i < NPROC; i++) {      p = &proc[i];      if(p->state == UNUSED)        continue; -    cprintf("%d %d %p\n", p->pid, p->state); +    if(p->state < 0 || p->state > ZOMBIE) +      state = "???"; +    else +      state = states[p->state]; +    cprintf("%d %s %s\n", p->pid, state, p->name);    }  } | 
