Mercurial > flash_v2
comparison packages/kernel/current/include/sched.inl @ 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 | 42f843b391aa |
comparison
equal
deleted
inserted
replaced
| 123:9b71e8e665a3 | 124:0ec04793409a |
|---|---|
| 105 CYG_INSTRUMENT_SCHED(RESCHEDULE,sched_lock,0); | 105 CYG_INSTRUMENT_SCHED(RESCHEDULE,sched_lock,0); |
| 106 | 106 |
| 107 unlock_inner( sched_lock ); | 107 unlock_inner( sched_lock ); |
| 108 } | 108 } |
| 109 | 109 |
| 110 inline void Cyg_Scheduler:: unlock_reschedule() | |
| 111 { | |
| 112 // This function decrements the scheduler lock and also looks for | |
| 113 // a reschedule opportunity. When the lock is being decremented | |
| 114 // from 1 to zero this function is equivalent to unlock. When the | |
| 115 // lock is being decremented to a non-zero value, it is equivalent | |
| 116 // to unlock() followed by reschedule(). | |
| 117 | |
| 118 CYG_INSTRUMENT_SCHED(UNLOCK,sched_lock,0); | |
| 119 | |
| 120 unlock_inner( sched_lock - 1 ); | |
| 121 } | |
| 122 | |
| 110 inline void Cyg_Scheduler::unlock_simple() | 123 inline void Cyg_Scheduler::unlock_simple() |
| 111 { | 124 { |
| 112 // This function decrements the lock, but does not call unlock_inner(). | 125 // This function decrements the lock, but does not call unlock_inner(). |
| 113 // Therefore does not immediately allow another thread to run: | 126 // Therefore does not immediately allow another thread to run: |
| 114 // merely makes it possible for some other thread to run at some | 127 // merely makes it possible for some other thread to run at some |
