Mercurial > ecos
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 123:9b71e8e665a3 | 124:0ec04793409a |
|---|---|
| 1 2000-09-08 Nick Garnett <nickg@cygnus.co.uk> | |
| 2 | |
| 3 * include/sched.hxx: | |
| 4 * include/sched.inl: | |
| 5 Added Cyg_Scheduler::unlock_reschedule() function. This decrements | |
| 6 the scheduler lock by one but also permits the current thread to | |
| 7 be rescheduled if it ready to sleep, or there is a higher priority | |
| 8 thread ready to run. This is to support use of various | |
| 9 synchronization objects while the scheduler lock is claimed. | |
| 10 | |
| 11 * src/sched/sched.cxx (unlock_inner): Modified precondition to | |
| 12 allow for functionality of unlock_reschedule(). | |
| 13 | |
| 14 * src/sched/mlqueue.cxx: | |
| 15 Now uses Cyg_SchedulerThreadQueue_Implementation for all runqueue | |
| 16 pointers. It was using Cyg_ThreadQueue_Implementation in some | |
| 17 places which meant we were trying to sort the run queues! | |
| 18 Changed yield() so it can be called with the scheduler lock | |
| 19 claimed. | |
| 20 Changed Cyg_Scheduler_Implementation::timeslice() to rotate the | |
| 21 queue itself rather than call yield(). The changes to yield() make | |
| 22 it unsafe to call here any more. | |
| 23 | |
| 24 * include/mlqueue.hxx (class Cyg_SchedulerThreadQueue_Implementation): | |
| 25 Made enqueue() member public. | |
| 26 | |
| 27 * include/mboxt2.inl: | |
| 28 * src/common/thread.cxx: | |
| 29 * src/sync/mutex.cxx: | |
| 30 * src/sync/cnt_sem2.cxx: | |
| 31 Removed assertions for zero scheduler lock and replaced some | |
| 32 invocations of Cyg_Scheduler::unlock() with | |
| 33 Cyg_Scheduler::unlock_reschedule() or Cyg_Scheduler::reschedule() | |
| 34 where appropriate. | |
| 35 | |
| 36 * tests/klock.c: | |
| 37 * cdl/kernel.cdl: | |
| 38 Added klock.c to test functionality while scheduler lock is claimed. | |
| 39 | |
| 1 2000-08-17 Hugo Tyson <hmt@cygnus.co.uk> | 40 2000-08-17 Hugo Tyson <hmt@cygnus.co.uk> |
| 2 | 41 |
| 3 * src/sched/sched.cxx (unlock_inner): Move an assert to some place | 42 * src/sched/sched.cxx (unlock_inner): Move an assert to some place |
| 4 where it's true *all* the time! There was a narrow margin where a | 43 where it's true *all* the time! There was a narrow margin where a |
| 5 DSR could confuse unlock_inner() by reanimating the current thread | 44 DSR could confuse unlock_inner() by reanimating the current thread |
