Clean up threads.
[pintos-anon] / src / threads / thread.h
index a5308aac3682802064f4910c945b2551cddece7a..5cfbadfbfb303bc2fbb69ecf6a72e85732803dbc 100644 (file)
@@ -11,7 +11,6 @@
 
 enum thread_status 
   {
-    THREAD_INITIALIZING,
     THREAD_RUNNING,
     THREAD_READY,
     THREAD_BLOCKED,
@@ -20,13 +19,14 @@ enum thread_status
 
 struct thread 
   {
-    enum thread_status status;
-    char name[16];
-    uint8_t *stack;
-    list_elem rq_elem;
+    enum thread_status status;          /* Thread state. */
+    char name[16];                      /* Name (for debugging purposes). */
+    uint8_t *stack;                     /* Saved stack pointer. */
+    list_elem rq_elem;                  /* Run queue list element. */
 #ifdef USERPROG
-    struct addrspace addrspace;
+    struct addrspace addrspace;         /* Userland address space. */
 #endif
+    unsigned magic;                     /* Always set to THREAD_MAGIC. */
   };
 
 void thread_init (void);
@@ -37,8 +37,8 @@ struct thread *thread_create (const char *name, void (*) (void *aux), void *);
 bool thread_execute (const char *filename);
 #endif
 
-void thread_destroy (struct thread *);
-void thread_ready (struct thread *);
+void thread_wake (struct thread *);
+const char *thread_name (struct thread *);
 
 struct thread *thread_current (void);
 void thread_exit (void) NO_RETURN;