changeset 282:a29ee6c2dd3c

* src/sched/sched.cxx (unlock_inner): Removed initial assertion. This has served its purpose and with the introduction of routines such as unlock_reschedule() is prone to firing in otherwise benign circumstances.
author nickg
date Fri, 09 Aug 2002 17:13:28 +0000
parents fc52fa818b5f
children f58bc1b2c2bc
files packages/kernel/current/ChangeLog packages/kernel/current/src/sched/sched.cxx
diffstat 2 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/packages/kernel/current/ChangeLog
+++ b/packages/kernel/current/ChangeLog
@@ -1,3 +1,10 @@
+2002-08-08  Nick Garnett  <nickg@calivar.demon.co.uk>
+
+	* src/sched/sched.cxx (unlock_inner): Removed initial
+	assertion. This has served its purpose and with the introduction
+	of routines such as unlock_reschedule() is prone to firing in
+	otherwise benign circumstances.
+
 2002-08-05  Bart Veer  <bartv@tymora.demon.co.uk>
 
 	* cdl/kernel.cdl, include/kapidata.h, include/kapi.h:
--- a/packages/kernel/current/src/sched/sched.cxx
+++ b/packages/kernel/current/src/sched/sched.cxx
@@ -141,14 +141,6 @@ void Cyg_Scheduler::unlock_inner( cyg_uc
     CYG_REPORT_FUNCTION();
 #endif    
 
-    // This assert must be outside the loop because running DSRs can make
-    // it fail if the current thread that was about to sleep is awoken by
-    // the DSR!  Going round the loop to run new DSRs does the same.
-    CYG_ASSERT( (new_lock == 0) ||
-                (get_current_thread()->state != Cyg_Thread::RUNNING ||
-                 get_need_reschedule()) ,
-                "Unnecessary call to unlock_inner()" );
-        
     do {
 
         CYG_PRECONDITION( new_lock==0 ? get_sched_lock() == 1 :