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; }