Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of executing application function calls in response to an interrupt, the method comprising: creating a thread; receiving an interrupt having an interrupt type; determining whether a value of a semaphore represents that interrupts are disabled; if the value of the semaphore represents that interrupts are not disabled: calling, by the thread, one or more preconfigured functions in dependence upon the interrupt type of the interrupt; yielding the thread; and if the value of the semaphore represents that interrupts are disabled: setting the value of the semaphore to represent to a kernel that interrupts are hard-disabled; and hard-disabling interrupts at the kernel.
2. The method of claim 1 wherein yielding the thread further comprises yielding the thread without performing a context switch.
3. The method of claim 1 further comprising: registering an application with the thread including assigning, by the application, one or more functions for execution to one or more interrupt types.
4. The method of claim 1 further comprising: determining, by an application, that the application is entering a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are disabled.
5. The method of claim 4 wherein setting the value of the semaphore to represent to the kernel that interrupts are disabled further comprises: retrieving the value of the semaphore; and incrementing the value of the semaphore.
6. The method of claim 1 further comprising: determining, by an application, that the application is exiting a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are enabled.
7. The method of claim 6 wherein setting the value of the semaphore to represent to the kernel that interrupts are enabled further comprises: retrieving the value of the semaphore; determining in dependence upon the value of the semaphore whether an interrupt occurred during the execution of the critical section; if the value of the semaphore represents that an interrupt did not occur during the execution of the critical section, decrementing the value of the semaphore; and if the value of the semaphore represents that an interrupt did occur during execution of the critical section: twice decrementing the value of the semaphore; and instructing the kernel to hard-enable interrupts.
8. An apparatus for executing application function calls in response to an interrupt, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of: creating a thread; receiving an interrupt having an interrupt type; determining whether a value of a semaphore represents that interrupts are disabled; if the value of the semaphore represents that interrupts are not disabled: calling, by the thread, one or more preconfigured functions in dependence upon the interrupt type of the interrupt; yielding the thread; and if the value of the semaphore represents that interrupts are disabled: setting the value of the semaphore to represent to a kernel that interrupts are hard-disabled; and hard-disabling interrupts at the kernel.
9. The apparatus of claim 8 wherein yielding the thread further comprises yielding the thread without performing a context switch.
10. The apparatus of claim 8 further comprising computer program instructions capable of: registering an application with the thread including assigning, by the application, one or more functions for execution to one or more interrupt types.
11. The apparatus of claim 8 further comprising computer program instructions capable of: determining, by an application, that the application is entering a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are disabled.
12. The apparatus of claim 11 wherein setting the value of the semaphore to represent to the kernel that interrupts are disabled further comprises: retrieving the value of the semaphore; and incrementing the value of the semaphore.
13. The apparatus of claim 8 further comprising computer program instructions capable of: determining, by an application, that the application is exiting a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are enabled.
14. The apparatus of claim 13 wherein setting the value of the semaphore to represent to the kernel that interrupts are enabled further comprises: retrieving the value of the semaphore; determining in dependence upon the value of the semaphore whether an interrupt occurred during the execution of the critical section; if the value of the semaphore represents that an interrupt did not occur during the execution of the critical section, decrementing the value of the semaphore; and if the value of the semaphore represents that an interrupt did occur during execution of the critical section: twice decrementing the value of the semaphore; and instructing the kernel to hard-enable interrupts.
15. A computer program product for executing application function calls in response to an interrupt, the computer program product disposed in a signal bearing medium, the computer program product comprising computer program instructions capable of: creating a thread; receiving an interrupt having an interrupt type; determining whether a value of a semaphore represents that interrupts are disabled; if the value of the semaphore represents that interrupts are not disabled: calling, by the thread, one or more preconfigured functions in dependence upon the interrupt type of the interrupt; yielding the thread; and if the value of the semaphore represents that interrupts are disabled: setting the value of the semaphore to represent to a kernel that interrupts are hard-disabled; and hard-disabling interrupts at the kernel.
16. The computer program product of claim 15 wherein yielding the thread further comprises yielding the thread without performing a context switch.
17. The computer program product of claim 15 further comprising computer program instructions capable of: registering an application with the thread including assigning, by the application, one or more functions for execution to one or more interrupt types.
18. The computer program product of claim 15 further comprising computer program instructions capable of: determining, by an application, that the application is entering a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are disabled.
19. The computer program product of claim 18 wherein setting the value of the semaphore to represent to the kernel that interrupts are disabled further comprises: retrieving the value of the semaphore; and incrementing the value of the semaphore.
20. The computer program product of claim 15 further comprising computer program instructions capable of: determining, by an application, that the application is exiting a critical section; and setting the value of the semaphore to represent to the kernel that interrupts are enabled.
Unknown
May 11, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.