# HG changeset patch # User nickg # Date 1028913208 0 # Node ID a29ee6c2dd3c41dc510f7cfe1412b54fc99dc09b # Parent fc52fa818b5f2e4e13836f6171371f5a05bc9b81 * 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. diff --git a/packages/kernel/current/ChangeLog b/packages/kernel/current/ChangeLog --- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,3 +1,10 @@ +2002-08-08 Nick Garnett + + * 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 * cdl/kernel.cdl, include/kapidata.h, include/kapi.h: diff --git a/packages/kernel/current/src/sched/sched.cxx b/packages/kernel/current/src/sched/sched.cxx --- 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 :