Mercurial > ecos
diff 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 |
line wrap: on
line diff
--- a/packages/kernel/current/include/sched.hxx +++ b/packages/kernel/current/include/sched.hxx @@ -192,9 +192,9 @@ public: private: - volatile cyg_bool asr_inhibit; // If true, blocks calls to ASRs + volatile cyg_ucount32 asr_inhibit; // If > 0, blocks calls to ASRs - volatile cyg_bool asr_pending; // If true, this thread's ASR should be called. + volatile cyg_bool asr_pending; // If true, this thread's ASR should be called. #ifdef CYGSEM_KERNEL_SCHED_ASR_GLOBAL static @@ -213,9 +213,9 @@ public: // Public interface to ASR mechanism // Set, clear and get inhibit flag. - inline void set_asr_inhibit() { asr_inhibit = true; } - inline void clear_asr_inhibit() { asr_inhibit = false; } - inline cyg_bool get_asr_inhibit() { return asr_inhibit; } + inline void set_asr_inhibit() { asr_inhibit++; } + inline void clear_asr_inhibit() { asr_inhibit--; } + inline cyg_ucount32 get_asr_inhibit() { return asr_inhibit; } // Set and get pending flag. The flag is only cleared when the // ASR is called.
