Reorder functions.
authorBen Pfaff <blp@cs.stanford.edu>
Wed, 29 Sep 2004 01:04:16 +0000 (01:04 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Wed, 29 Sep 2004 01:04:16 +0000 (01:04 +0000)
src/threads/thread.c
src/threads/thread.h

index b1d25db83da7ecbae5e14d1a8c8451f2932b5f8d..b0d5a9138eb6e5a438fda9eabb3ec8e67d1ca519 100644 (file)
@@ -170,9 +170,25 @@ thread_create (const char *name, int priority,
   return tid;
 }
 
-/* Transitions a blocked thread T from its current state to the
-   ready-to-run state.  This is an error if T is not blocked.
-   (Use thread_yield() to make the running thread ready.) */
+/* Puts the current thread to sleep.  It will not be scheduled
+   again until awoken by thread_unblock().
+
+   This function must be called with interrupts turned off.  It
+   is usually a better idea to use one of the synchronization
+   primitives in synch.h. */
+void
+thread_block (void) 
+{
+  ASSERT (!intr_context ());
+  ASSERT (intr_get_level () == INTR_OFF);
+
+  thread_current ()->status = THREAD_BLOCKED;
+  schedule ();
+}
+
+/* Transitions a blocked thread T to the ready-to-run state.
+   This is an error if T is not blocked.  (Use thread_yield() to
+   make the running thread ready.) */
 void
 thread_unblock (struct thread *t) 
 {
@@ -255,22 +271,6 @@ thread_yield (void)
   schedule ();
   intr_set_level (old_level);
 }
-
-/* Puts the current thread to sleep.  It will not be scheduled
-   again until awoken by thread_unblock().
-
-   This function must be called with interrupts turned off.  It
-   is usually a better idea to use one of the synchronization
-   primitives in synch.h. */
-void
-thread_block (void) 
-{
-  ASSERT (!intr_context ());
-  ASSERT (intr_get_level () == INTR_OFF);
-
-  thread_current ()->status = THREAD_BLOCKED;
-  schedule ();
-}
 \f
 /* Idle thread.  Executes when no other thread is ready to run. */
 static void
index 55ac2324d14568ae53e17ae6b00332d829babe77..6fcbfc75fe49647a359b4eb56e927375ca694164 100644 (file)
@@ -109,6 +109,7 @@ void thread_print_stats (void);
 typedef void thread_func (void *aux);
 tid_t thread_create (const char *name, int priority, thread_func *, void *);
 
+void thread_block (void);
 void thread_unblock (struct thread *);
 
 struct thread *thread_current (void);
@@ -117,7 +118,6 @@ const char *thread_name (void);
 
 void thread_exit (void) NO_RETURN;
 void thread_yield (void);
-void thread_block (void);
 
 /* This function will be implemented in problem 1-2. */
 void thread_join (tid_t);