Patent ID: 8881169
Filing Date: 2014-11-04
Classification: G06F

Abstract:
1. A processor for an information processing apparatus, the processor comprising: a monitoring unit configured to execute a keep-alive operation on a plurality of monitor threads to monitor a plurality of groups of threads respectively when an event delivery control thread is executed in parallel with execution of the keep-alive operation, to receive a response to the keep-alive operation from each of the plurality of monitor threads, the plurality of monitor threads and the plurality of groups of threads having mutually different priority levels, each of the plurality of monitor threads configured to monitor threads included in a corresponding one of the plurality of groups for the monitor thread; a first determining unit configured to determine whether there is a no-response monitor thread which does not respond to the keep-alive operation, among the plurality of monitor threads, based on respective responses from the plurality of monitor threads; a first terminating unit configured to terminate delivery of events to a group of threads having a priority level next higher than a priority level of a group of threads monitored by the no-response monitor thread if the first determining unit determines that there is the no-response monitor thread; a second determining unit configured to determine, through the monitoring by the monitoring unit after the termination of the delivery of events by the first terminating unit, whether operations of the threads of the group corresponding to the no-response monitor thread are recovered; and a second terminating unit configured to terminate the delivery of events to the threads of the group corresponding to the no-response monitor thread if the second determining unit determines that the operations of the threads of the group are not recovered, wherein the plurality of monitor threads is provided to monitor operations of the threads included in the plurality of groups respectively without adding any process to the threads included in the plurality of groups, wherein the event delivery control thread is configured to monitor only the plurality of monitor threads without monitoring the plurality of groups of threads, and wherein each of the plurality of monitor threads is configured to return a response to keep-alive operation to the event delivery control thread.