summaryrefslogtreecommitdiff
path: root/syscall.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-08-08 19:58:06 +0000
committerrtm <rtm>2006-08-08 19:58:06 +0000
commit0e84a0ec6e7893dad13dff9a958c5bc987b79c82 (patch)
tree5739d0a2af8277db7a47c74e52975d9e9d81cef7 /syscall.c
parente8d11c2e846ad15b32caacc8a919722b76d00f79 (diff)
downloadxv6-labs-0e84a0ec6e7893dad13dff9a958c5bc987b79c82.tar.gz
xv6-labs-0e84a0ec6e7893dad13dff9a958c5bc987b79c82.tar.bz2
xv6-labs-0e84a0ec6e7893dad13dff9a958c5bc987b79c82.zip
fix race in holding() check in acquire()
give cpu1 a TSS and gdt for when it enters scheduler() and a pseudo proc[] entry for each cpu cpu0 waits for each other cpu to start up read() for files
Diffstat (limited to 'syscall.c')
-rw-r--r--syscall.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/syscall.c b/syscall.c
index 498078e..ce6e22d 100644
--- a/syscall.c
+++ b/syscall.c
@@ -274,6 +274,7 @@ sys_open(void)
fd->readable = 1;
fd->writeable = 0;
fd->ip = ip;
+ fd->off = 0;
cp->fds[ufd] = fd;
return ufd;