7716407

Executing Application Function Calls in Response to an Interrupt

PublishedMay 11, 2010
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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

2. The method of claim 1 wherein yielding the thread further comprises yielding the thread without performing a context switch.

3

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

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

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

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

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

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

9. The apparatus of claim 8 wherein yielding the thread further comprises yielding the thread without performing a context switch.

10

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

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

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

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

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

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

16. The computer program product of claim 15 wherein yielding the thread further comprises yielding the thread without performing a context switch.

17

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

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

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

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.

Patent Metadata

Filing Date

Unknown

Publication Date

May 11, 2010

Inventors

Gheorghe Almasi
Charles J. Archer
Mark E. Giampapa
Thomas M. Gooding
Philip Heidelberger
Jeffrey J. Parker

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “EXECUTING APPLICATION FUNCTION CALLS IN RESPONSE TO AN INTERRUPT” (7716407). https://patentable.app/patents/7716407

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.