A mechanism and system are described for either releasing held resources
in the case of a deadlock or to postpone requests for resources when a
potential deadlock is detected. One technique involves a three pass
algorithm for selecting a candidate, where the candidate is either a
possessory entity or resource is used. The three passes are as follows:
(1) determining the subset of candidates, which have the CAN-BE-VICTIM
flag set on; (2) If pass one results in a subset with more than one
candidates in it, process that subset to determine a second subset of
candidates based on resource priority associated with a resource type;
(3) If the second pass results in a subset with more than one candidate
in it, process that subset to select the candidate that has been running
or held the shortest length of time.