Patent ID: 7337444

Claim:
A method in a data processing system for handling a plurality of threads, the method comprising: receiving a first request from a first process, wherein the first request is a checkpoint request; sending a selected signal to a second process, wherein the sending step comprises: sending the selected signal from a kernel to the second process, wherein the selected signal is detected by a particular thread within the plurality of threads in the second process; responsive to detecting of the selected signal by the particular thread, sending a second request from the particular thread to the kernel, wherein the second request requests sending of a particular signal to all other threads within the plurality of threads; and responsive to detecting the second request sending the particular signal from the kernel to all of the other threads within the plurality of threads; responsive to receiving the selected signal in the second process, suspending a thread within the plurality of threads if the thread no longer has any locks; and initiating a procedure executed in a processor of the data processing system if all of the plurality of threads having no locks are suspended.