Fix Bug in thread.c: Only initialise and destroy mmap files table if VM is defined

This commit is contained in:
sBubshait
2024-12-04 15:24:11 +00:00
parent a2f46f3b72
commit 6e838aa06a

View File

@@ -15,11 +15,13 @@
#include "threads/switch.h"
#include "threads/synch.h"
#include "threads/vaddr.h"
#include "vm/page.h"
#include "vm/mmap.h"
#ifdef USERPROG
#include "userprog/process.h"
#include "userprog/syscall.h"
#include "vm/page.h"
#endif
#ifdef VM
#include "vm/mmap.h"
#endif
/* Random value for struct thread's `magic' member.
@@ -275,7 +277,9 @@ thread_create (const char *name, int priority,
}
#endif
#ifdef VM
mmap_init ();
#endif
/* Prepare thread for first run by initializing its stack.
Do this atomically so intermediate values for the 'stack'
@@ -397,7 +401,9 @@ thread_exit (void)
process_exit ();
#endif
#ifdef VM
mmap_destroy ();
#endif
/* Remove thread from all threads list, set our status to dying,
and schedule another process. That process will destroy us