summaryrefslogtreecommitdiff
path: root/proc.h
diff options
context:
space:
mode:
authorrtm <rtm>2006-07-12 01:48:35 +0000
committerrtm <rtm>2006-07-12 01:48:35 +0000
commit4e8f237be819424f922399f8d121d9867b675541 (patch)
tree53459cfde9630b3ae0d2d46d0ce3d4c1ac423944 /proc.h
parentb41b38d0da0854f3fa92967b70180ea1156154d4 (diff)
downloadxv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.gz
xv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.bz2
xv6-labs-4e8f237be819424f922399f8d121d9867b675541.zip
no more big kernel lock
succeeds at usertests.c pipe test
Diffstat (limited to 'proc.h')
-rw-r--r--proc.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/proc.h b/proc.h
index 86ba0eb..b9ec246 100644
--- a/proc.h
+++ b/proc.h
@@ -33,11 +33,14 @@ struct jmpbuf {
int jb_eip;
};
+enum proc_state { UNUSED, EMBRYO, WAITING, RUNNABLE, RUNNING, ZOMBIE };
+
struct proc{
char *mem; // start of process's physical memory
unsigned sz; // total size of mem, including kernel stack
char *kstack; // kernel stack, separate from mem so it doesn't move
- enum { UNUSED, RUNNABLE, WAITING, ZOMBIE, RUNNING } state;
+ enum proc_state state;
+ enum proc_state newstate; // desired state after swtch()
int pid;
int ppid;
void *chan; // sleep