Patent ID: 7216346

Claim:
In an information handling system having an operating system kernel and a user process having multiple threads of execution including a target thread, the target thread having a program context and an execution state and the target thread containing a normally executing program portion, a signal interrupt routine for obtaining control of execution of the target thread upon delivery of a signal from the operating system kernel to the target thread, and signal interrupt logic for transferring control from the normally executing program portion to the signal interrupt routine in response to a signal received from the operating system kernel, a method for managing the execution of the target thread without altering the execution state of any unspecified thread of the user process or requiring cooperative logic on the target thread, the method being performed by the operating system kernel and comprising the steps of: responsive to receiving a request from one of the multiple threads to suspend execution of the target thread, sending an external interrupt to the signal interrupt logic of the target thread to cause the signal interrupt logic to halt the normally executing program and issue a first service call to the operating system kernel; and responsive to receiving the first service call, modifying the program context of the target thread to cause the target thread to execute the signal interrupt routine, the signal interrupt routine, upon being executed, issuing a second service call to the operating system kernel to suspend execution of the target thread.