From 9bf6c2f72af76260d83bb10942cbb4ab9854b2e1 Mon Sep 17 00:00:00 2001 From: Joshua Saxby <joshua.a.saxby@gmail.com> Date: Tue, 3 Dec 2019 10:47:21 +0000 Subject: [PATCH] Got write system call working properly --- userprog/syscall.c | 1 + userprog/syscall_write.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/userprog/syscall.c b/userprog/syscall.c index 24a2654..36285fa 100644 --- a/userprog/syscall.c +++ b/userprog/syscall.c @@ -60,6 +60,7 @@ syscall_handler (struct intr_frame *f UNUSED) break; case SYSCALL_EXIT: syscall_exit(f); + thread_exit(); break; case SYSCALL_EXEC: syscall_exec(f); diff --git a/userprog/syscall_write.c b/userprog/syscall_write.c index 24e7039..e866540 100644 --- a/userprog/syscall_write.c +++ b/userprog/syscall_write.c @@ -13,9 +13,6 @@ void syscall_write(struct intr_frame *f) { int fd = *((int*)f->esp + 1); // file descriptor is second argument void* buffer = (void*)(*((int*)f->esp + 2)); // buffer is third argument unsigned size = *((unsigned*)((int*)f->esp + 3)); // size to write is fourth - printf("syscall_write: fd = %d\n", fd); - printf("syscall_write: buffer = '%s'\n", buffer); - printf("syscall_write: size = %u\n", size); // writing to stdout or stderr (fd in {1, 2}) is a special case switch (fd) { case 1: -- GitLab