diff packages/kernel/current/include/sched.hxx @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children 7a6ac9edc838
line wrap: on
line diff
--- a/packages/kernel/current/include/sched.hxx
+++ b/packages/kernel/current/include/sched.hxx
@@ -3,9 +3,9 @@
 
 //==========================================================================
 //
-//	sched.hxx
+//      sched.hxx
 //
-//	Scheduler class declaration(s)
+//      Scheduler class declaration(s)
 //
 //==========================================================================
 //####COPYRIGHTBEGIN####
@@ -25,20 +25,20 @@
 // September 30, 1998.
 // 
 // The Initial Developer of the Original Code is Cygnus.  Portions created
-// by Cygnus are Copyright (C) 1998 Cygnus Solutions.  All Rights Reserved.
+// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.
 // -------------------------------------------
 //
 //####COPYRIGHTEND####
 //==========================================================================
 //#####DESCRIPTIONBEGIN####
 //
-// Author(s): 	nickg
-// Contributors:	nickg
-// Date:	1997-09-09
-// Purpose:	Define Scheduler class interfaces
-// Description:	These class definitions supply the internal API
+// Author(s):   nickg
+// Contributors:        nickg
+// Date:        1997-09-09
+// Purpose:     Define Scheduler class interfaces
+// Description: These class definitions supply the internal API
 //              used to scheduler threads. 
-// Usage:	#include <cyg/kernel/sched.hxx>
+// Usage:       #include <cyg/kernel/sched.hxx>
 //
 //####DESCRIPTIONEND####
 //
@@ -62,8 +62,9 @@ protected:
     // The following variables are implicit in the API, but are
     // not publically visible.
 
-    static volatile cyg_ucount32 sched_lock;    // lock counter
-
+    static volatile cyg_ucount32 sched_lock         // lock counter
+                    CYGBLD_ATTRIB_ASM_ALIAS( cyg_scheduler_sched_lock );
+    
     static Cyg_Thread   *current_thread;        // current running thread
 
     static cyg_bool     need_reschedule;        // set when schedule needed
@@ -112,9 +113,12 @@ public:
     // claim the preemption lock
     static void             lock();         
 
-    // release the preemption lock
+    // release the preemption lock and possibly reschedule
     static void             unlock();
 
+    // release the preemption lock without rescheduling
+    static void             unlock_simple();
+    
     // return a pointer to the current thread
     static Cyg_Thread       *get_current_thread();