Mercurial > ecos
comparison packages/kernel/current/src/common/kapi.cxx @ 84:489eb5632bc3 ecos-sw-2000-04-28
Merge from eCos master repository on 2000-04-28-18:44:39-BST
| author | jlarmour |
|---|---|
| date | Fri, 28 Apr 2000 18:18:36 +0000 |
| parents | bf00f99aec69 |
| children | 5a0cc6c243a9 |
comparison
equal
deleted
inserted
replaced
| 83:1094d5fdd3e0 | 84:489eb5632bc3 |
|---|---|
| 113 // get_sched_lock() is unsigned, see below "cyg_ucount32 lock" | 113 // get_sched_lock() is unsigned, see below "cyg_ucount32 lock" |
| 114 CYG_ASSERT( (0xff000000 & (Cyg_Scheduler::get_sched_lock())) == 0, | 114 CYG_ASSERT( (0xff000000 & (Cyg_Scheduler::get_sched_lock())) == 0, |
| 115 "Scheduler overlocked" ); | 115 "Scheduler overlocked" ); |
| 116 } | 116 } |
| 117 | 117 |
| 118 /* Lock the scheduler, but never more than level=1. */ | |
| 119 externC void cyg_scheduler_safe_lock(void) | |
| 120 { | |
| 121 Cyg_Scheduler::lock(); | |
| 122 cyg_ucount32 slock = Cyg_Scheduler::get_sched_lock(); | |
| 123 if (slock > 1) | |
| 124 Cyg_Scheduler::unlock(); | |
| 125 // get_sched_lock() is unsigned, see below "cyg_ucount32 lock" | |
| 126 CYG_ASSERT( (0xff000000 & (Cyg_Scheduler::get_sched_lock())) == 0, | |
| 127 "Scheduler overlocked" ); | |
| 128 } | |
| 129 | |
| 118 /* Unlock the scheduler. */ | 130 /* Unlock the scheduler. */ |
| 119 externC void cyg_scheduler_unlock(void) | 131 externC void cyg_scheduler_unlock(void) |
| 120 { | 132 { |
| 121 cyg_ucount32 slock = Cyg_Scheduler::get_sched_lock(); | 133 cyg_ucount32 slock = Cyg_Scheduler::get_sched_lock(); |
| 122 CYG_ASSERT( 0 < slock, "Scheduler not locked" ); | 134 CYG_ASSERT( 0 < slock, "Scheduler not locked" ); |
