Mercurial > ecos-v3_0-branch
diff packages/kernel/current/ChangeLog @ 124:0ec04793409a ecos-sw-2000-09-11
Merge from eCos master repository on 2000-09-11-03:00:13-BST
| author | jlarmour |
|---|---|
| date | Mon, 11 Sep 2000 02:42:46 +0000 |
| parents | 6ed91473a1cd |
| children | 518f42066aba |
line wrap: on
line diff
--- a/packages/kernel/current/ChangeLog +++ b/packages/kernel/current/ChangeLog @@ -1,3 +1,42 @@ +2000-09-08 Nick Garnett <nickg@cygnus.co.uk> + + * include/sched.hxx: + * include/sched.inl: + Added Cyg_Scheduler::unlock_reschedule() function. This decrements + the scheduler lock by one but also permits the current thread to + be rescheduled if it ready to sleep, or there is a higher priority + thread ready to run. This is to support use of various + synchronization objects while the scheduler lock is claimed. + + * src/sched/sched.cxx (unlock_inner): Modified precondition to + allow for functionality of unlock_reschedule(). + + * src/sched/mlqueue.cxx: + Now uses Cyg_SchedulerThreadQueue_Implementation for all runqueue + pointers. It was using Cyg_ThreadQueue_Implementation in some + places which meant we were trying to sort the run queues! + Changed yield() so it can be called with the scheduler lock + claimed. + Changed Cyg_Scheduler_Implementation::timeslice() to rotate the + queue itself rather than call yield(). The changes to yield() make + it unsafe to call here any more. + + * include/mlqueue.hxx (class Cyg_SchedulerThreadQueue_Implementation): + Made enqueue() member public. + + * include/mboxt2.inl: + * src/common/thread.cxx: + * src/sync/mutex.cxx: + * src/sync/cnt_sem2.cxx: + Removed assertions for zero scheduler lock and replaced some + invocations of Cyg_Scheduler::unlock() with + Cyg_Scheduler::unlock_reschedule() or Cyg_Scheduler::reschedule() + where appropriate. + + * tests/klock.c: + * cdl/kernel.cdl: + Added klock.c to test functionality while scheduler lock is claimed. + 2000-08-17 Hugo Tyson <hmt@cygnus.co.uk> * src/sched/sched.cxx (unlock_inner): Move an assert to some place
