Patent ID: 8087027

Claim:
A computer program product stored in a memory, executed by a processor, and performing the operations of: providing an active queue and a delete pending queue, where the active and delete pending queues are both configured as linked-list data structures comprising resource control blocks and where each of the resource control blocks in the active and delete pending queues further comprise a plurality of control flags corresponding with a specific resource control block; creating a first resource control block for a first resource in response to a first request from a concurrent asynchronous long-term first process; creating a second resource control block for the first resource in response to a second request from a concurrent asynchronous long-term second process; moving the first resource control block to the delete pending queue when the second resource control block is created for the first resource; accepting a first access request from a concurrent short-term third process to use the first resource; associating the third process to the first control block on the delete pending queue; receiving a delete request to delete the first resource control block; rejecting the delete request if the first resource control block is in use by the first process; and deleting the first resource control block from the delete pending queue without verifying that the first resource control block is in use by the third process if the first resource control block is not in use by the first process and if the first resource control block is on the delete pending queue for a predetermined time period equal to a time required for the third process to finish.