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