Mercurial > flash_v2
comparison packages/kernel/current/include/sched.hxx @ 128:0c2b7be0d798 ecos-sw-2000-10-12
Merge from eCos master repository on 2000-10-12-08:46:24-BST
| author | jlarmour |
|---|---|
| date | Thu, 12 Oct 2000 20:31:43 +0000 |
| parents | 0ec04793409a |
| children | 0ae0bc38e387 |
comparison
equal
deleted
inserted
replaced
| 127:67f0ef5f8ee9 | 128:0c2b7be0d798 |
|---|---|
| 190 // used by compatibility subsystems, such as POSIX, to implement | 190 // used by compatibility subsystems, such as POSIX, to implement |
| 191 // such things as thread cancellation and signal delivery. | 191 // such things as thread cancellation and signal delivery. |
| 192 | 192 |
| 193 private: | 193 private: |
| 194 | 194 |
| 195 volatile cyg_bool asr_inhibit; // If true, blocks calls to ASRs | 195 volatile cyg_ucount32 asr_inhibit; // If > 0, blocks calls to ASRs |
| 196 | 196 |
| 197 volatile cyg_bool asr_pending; // If true, this thread's ASR should be called. | 197 volatile cyg_bool asr_pending; // If true, this thread's ASR should be called. |
| 198 | 198 |
| 199 #ifdef CYGSEM_KERNEL_SCHED_ASR_GLOBAL | 199 #ifdef CYGSEM_KERNEL_SCHED_ASR_GLOBAL |
| 200 static | 200 static |
| 201 #endif | 201 #endif |
| 202 Cyg_ASR *asr; // ASR function | 202 Cyg_ASR *asr; // ASR function |
| 211 public: | 211 public: |
| 212 | 212 |
| 213 // Public interface to ASR mechanism | 213 // Public interface to ASR mechanism |
| 214 | 214 |
| 215 // Set, clear and get inhibit flag. | 215 // Set, clear and get inhibit flag. |
| 216 inline void set_asr_inhibit() { asr_inhibit = true; } | 216 inline void set_asr_inhibit() { asr_inhibit++; } |
| 217 inline void clear_asr_inhibit() { asr_inhibit = false; } | 217 inline void clear_asr_inhibit() { asr_inhibit--; } |
| 218 inline cyg_bool get_asr_inhibit() { return asr_inhibit; } | 218 inline cyg_ucount32 get_asr_inhibit() { return asr_inhibit; } |
| 219 | 219 |
| 220 // Set and get pending flag. The flag is only cleared when the | 220 // Set and get pending flag. The flag is only cleared when the |
| 221 // ASR is called. | 221 // ASR is called. |
| 222 inline void set_asr_pending() { asr_pending = true; } | 222 inline void set_asr_pending() { asr_pending = true; } |
| 223 inline cyg_bool get_asr_pending() { return asr_pending; } | 223 inline cyg_bool get_asr_pending() { return asr_pending; } |
