Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
187 words
In a computer system having an application comprising a plurality of threads executing concurrently in a common address space, a method of handling the occurrence of a new event on a first one of said threads while a previous event on a second one of said threads is currently being processed, comprising the steps of: (a) defining a flag indicating whether a previous event on one of said threads is currently being processed; (b) defining a deferred event queue containing an entry for each event that cannot be processed immediately, said entry identifying the thread on which a deferred event occurred; and (c) having said first one of said threads, in response to the occurrence of a new event on said thread: (1) test said flag to determine whether a previous event is currently being processed; (2) if said flag indicates that a previous event is not being processed, set said flag and process the new event; and (3) if said flag indicates that a previous event is being processed, add the new event to said queue and suspend its own execution without processing said new event.
Claim 2
Dependent Claim
187 words
In a computer system having an application comprising a plurality of threads executing concurrently in a common address space, a method of handling the occurrence of a new event on a first one of said threads while a previous event on a second one of said threads is currently being processed, comprising the steps of: (a) defining a flag indicating whether a previous event on one of said threads is currently being processed; (b) defining a deferred event queue containing an entry for each event that cannot be processed immediately, said entry identifying the thread on which a deferred event occurred; and (c) having said first one of said threads, in response to the occurrence of a new event on said thread: (1) test said flag to determine whether a previous event is currently being processed; (2) if said flag indicates that a previous event is not being processed, set said flag and process the new event; and (3) if said flag indicates that a previous event is being processed, add the new event to said queue and suspend its own execution without processing said new event.
Claim 3
Dependent Claim
27 words
The method of claim 1 wherein the step of processing the new event includes the step of suspending the execution of each remaining thread of said application.
Claim 4
Dependent Claim
88 words
The method of claim 1 wherein said first one of said threads, upon completion of processing of said new event, performs the further steps of: testing said deferred event queue to determine whether there is any deferred event requiring processing; if there is no event in said deferred event queue, resuming normal execution of said threads; and if there is a deferred event in said deferred event queue, resuming execution of the thread on which the deferred event occurred to permit said thread to process the deferred event.
Claim 5
Dependent Claim
32 words
The method of claim 3 wherein the thread that has completed the processing of an event suspends its own execution upon resuming execution of the thread on which the deferred event occurred.
Claim 6
Dependent Claim
26 words
The method of claim 3 wherein the thread on which the deferred event occurred removes the deferred queue entry for said deferred event upon resuming execution.
Claim 7
Dependent Claim
102 words
The method of claim 1 wherein said events include breakpoints and wherein the execution of each of said threads is controlled by an instruction counter pointing to an instruction next to be executed, said step (c)(3) comprising the steps of: if the new event is not a breakpoint, adding the new event to said queue and suspending execution of said first one of said threads; if said new event is a breakpoint, altering the instruction counter of said first one of said threads to point to said breakpoint and suspending execution of said thread without adding said new event to said queue.