X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Fthread.h;h=4d65e1bdf68980b8d7cfcbd9150162eacf466084;hb=edbf01ab5f8bca57472150a02543971da231eec1;hp=a9b3251249d11f6415065866cda95032f9a67194;hpb=8ca3547f6c4d6d01a76d3ce642a0c1bf884c4c2a;p=pintos-anon diff --git a/src/threads/thread.h b/src/threads/thread.h index a9b3251..4d65e1b 100644 --- a/src/threads/thread.h +++ b/src/threads/thread.h @@ -2,6 +2,7 @@ #define HEADER_THREAD_H 1 #include +#include "debug.h" #include "list.h" #ifdef USERPROG @@ -20,32 +21,26 @@ struct thread { enum thread_status status; char name[16]; - uint32_t *stack; + uint8_t *stack; list_elem rq_elem; #ifdef USERPROG struct addrspace addrspace; #endif }; -void thread_init (void); - -struct thread *thread_create (const char *name, - void (*function) (void *aux), void *aux); +void thread_init (const char *name, void (*) (void *aux), void *) NO_RETURN; +struct thread *thread_create (const char *name, void (*) (void *aux), void *); void thread_destroy (struct thread *); struct thread *thread_current (void); #ifdef USERPROG -void thread_execute (const char *filename); +bool thread_execute (const char *filename); #endif -void thread_start (struct thread *); void thread_ready (struct thread *); -void thread_exit (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 */