Consus | Consus is a geo-replicated transactional key-value store | Architecture library
kandi X-RAY | Consus Summary
kandi X-RAY | Consus Summary
Consus was the capstone of my Ph.D. thesis. I have since graduated and have other commitments that take me away from maintaining the project. Anyone trying to use the code should beware the following:.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Consus
Consus Key Features
Consus Examples and Code Snippets
Community Discussions
Trending Discussions on Consus
QUESTION
I have two Lists:
...ANSWER
Answered 2019-Jul-23 at 04:09QUESTION
I'm trying to learn x86 assembly and c language. And now I've finished a simple timer and keyboard interrupts. The firs one can print a line every several ticks and the second can print what you've pressed on keyboard.The code is just like:
Timer.c:
...ANSWER
Answered 2017-Dec-20 at 17:18By enabling interrupts inside interrupt handler you don't enable only "others" interrupts, but all interrupts. Including the timer interrupt. (this is too general, payne points out in comment, on x86 there may be different sources of IRQ signals, and particular PIC/APIC chips can be configured to prioritize one over other ... doesn't change anything about the principle of re-entrant IRQ handling, but you can fine-tune which IRQs have priority, which may mean you don't need re-entry lock at all in the end, if your configuration prevents it)
Your code doesn't look like re-entrant-aware handler, so if that is how your handler code is done, then your timer keeps firing up new timer interrupts as configured, and because you have sti
there, they keep re-entering the handler code, filling up slowly stack space until it will overflow (or wrap around, I'm not sure if you are in real or protected mode, and how your stack is set up). Only the last one is of course running, rest is dormant (forever, if the last one doesn't return).
A long-duration interrupt handlers are usually sign of bad code architecture (aim for shortest + fastest possible interrupt handlers, often just filling up some queue with data, which is processed in async way outside of interrupt handler). But if you really need one, and you can't leave other interrupts disabled, you must write the handler as re-entrant one.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Consus
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page