summaryrefslogtreecommitdiff
path: root/syscall.c
diff options
context:
space:
mode:
authorkaashoek <kaashoek>2006-08-09 16:04:04 +0000
committerkaashoek <kaashoek>2006-08-09 16:04:04 +0000
commit6fa5ffb56ffdbe5a37bfc04d063fbff2bf929c27 (patch)
tree7a06e4e145812109fcec97aec32c135632481edf /syscall.c
parent6c0e444fcdf7ba21442513acbc69c7fca9def06b (diff)
downloadxv6-labs-6fa5ffb56ffdbe5a37bfc04d063fbff2bf929c27.tar.gz
xv6-labs-6fa5ffb56ffdbe5a37bfc04d063fbff2bf929c27.tar.bz2
xv6-labs-6fa5ffb56ffdbe5a37bfc04d063fbff2bf929c27.zip
devsw
checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works
Diffstat (limited to 'syscall.c')
-rw-r--r--syscall.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/syscall.c b/syscall.c
index ce6e22d..f0f2cc2 100644
--- a/syscall.c
+++ b/syscall.c
@@ -271,8 +271,13 @@ sys_open(void)
iunlock(ip);
fd->type = FD_FILE;
- fd->readable = 1;
- fd->writeable = 0;
+ if (arg1) {
+ fd->readable = 1;
+ fd->writeable = 1;
+ } else {
+ fd->readable = 1;
+ fd->writeable = 0;
+ }
fd->ip = ip;
fd->off = 0;
cp->fds[ufd] = fd;