Patent ID: 7958402

Claim:
A computer implemented method to generate diagnostic data for a thread, the computer implemented method comprising: allocating a first thread to a monitoring function; determining if a second thread is running, wherein the second thread is associated with a first operation, wherein the first operation is a hardware-object-model operation; obtaining a first object pointer from a first list of running threads, wherein the first object pointer references a time data structure associated with the second thread, the time data structure associated with the second thread comprising a first maximum running time interval and a first check time; responsive to obtaining the first object pointer, determining whether the first maximum running time interval is finite; responsive to a determination that the first maximum running time interval is finite, calculating the first check time as the first maximum running time interval added to an initially sampled timestamp; determining if a first current time exceeds the first check time; responsive to a determination that the first current time exceeds the first check time, generating an error log; responsive to a determination that the first current time exceeds the first check time, sending a signal to a calling thread to continue; determining if a third thread is running, wherein the third thread is associated with a second operation; obtaining a second object pointer from a second list of running threads, wherein the second object pointer references a time data structure associated with the third thread, the time data structure associated with the third thread comprising a second maximum running time interval and a second check time; calculating the check time as the second maximum running time interval added to the initially sampled timestamp; determining if a second current time exceeds the second check time; and responsive to a determination that the second current time exceeds the second check time, generating the error log.