Implement VM #63
@@ -401,10 +401,6 @@ 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
|
||||
when it calls thread_schedule_tail(). */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "threads/synch.h"
|
||||
#include "devices/timer.h"
|
||||
#include "vm/page.h"
|
||||
#include "vm/mmap.h"
|
||||
#ifdef VM
|
||||
#include "vm/frame.h"
|
||||
#endif
|
||||
@@ -363,6 +364,9 @@ process_exit (void)
|
||||
struct thread *cur = thread_current ();
|
||||
uint32_t *pd;
|
||||
|
||||
/* Unmap all memory mapped files */
|
||||
mmap_destroy ();
|
||||
|
||||
/* Clean up all open files */
|
||||
hash_destroy (&cur->open_files, fd_cleanup);
|
||||
hash_destroy (&cur->pages, page_cleanup);
|
||||
|
||||
Reference in New Issue
Block a user