Clean up threads.c.
[pintos-anon] / src / threads / thread.h
index 8a0df6e254052ff7c8a8ee1b44fda01876fc1e4e..356fc30b68030f2c8b9ad2f6e3b6dee6c309c7f9 100644 (file)
@@ -2,6 +2,7 @@
 #define HEADER_THREAD_H 1
 
 #include <stdint.h>
+#include "debug.h"
 #include "list.h"
 
 #ifdef USERPROG
@@ -10,6 +11,7 @@
 
 enum thread_status 
   {
+    THREAD_INITIALIZING,
     THREAD_RUNNING,
     THREAD_READY,
     THREAD_BLOCKED,
@@ -27,25 +29,19 @@ struct thread
 #endif
   };
 
-void thread_init (void);
-
-struct thread *thread_create (const char *name,
-                              void (*function) (void *aux), void *aux);
-void thread_destroy (struct thread *);
-struct thread *thread_current (void);
+void thread_init (const char *name, void (*) (void *aux), void *) NO_RETURN;
 
+struct thread *thread_create (const char *name, void (*) (void *aux), void *);
 #ifdef USERPROG
 bool thread_execute (const char *filename);
 #endif
 
-void thread_start (struct thread *);
+void thread_destroy (struct thread *);
 void thread_ready (struct thread *);
-void thread_exit (void);
 
+struct thread *thread_current (void);
+void thread_exit (void) NO_RETURN;
 void thread_yield (void);
 void thread_sleep (void);
-void thread_schedule (void);
-
-void thread_self_test (void);
 
 #endif /* thread.h */