Patent ID: 6161147
Filing Date: 2000-12-12
Classification: G06F

Abstract:
A computer system capable of executing a multi-threaded process, the computer system comprising:a central processing unit;memory that is allocated to the process;an active object list resident in the memory, the active object list being arranged to identify all objects that are active in the process, such objects residing in the memory that is allocated to the process, wherein each active object is identified by a corresponding object entry in the active object list, wherein each object entry includes,an object timeout variable arranged to store an object inactivity period value that is based upon the requirements of the particular active object identified by the object entry, wherein the object inactivity period indicates a period of inactivity after which the particular active object is deactivated,an associated object timer variable arranged to store a value that is suitable for use in determining whether the period of inactivity after which the particular active object is deactivated has been exceeded, andan associated deletion flag that is arranged to indicate whether its associated active object is to be deleted;wherein each of the object inactivity period values included in the active object list are designated based upon the particular amount of time each of the associated active objects must be inactive in order to be automatically deactivated, and wherein the object inactivity period values included in the active object list can be different from one another;an active object list mutex that permits only one thread to access the active object list at any time;a process timeout variable arranged to store a designated process inactivity period value that is associated with the process, the designated process inactivity period value being indicative of a period of process inactivity after which the process is deactivated;a process timer variable associated with the process and arranged to store a value that is suitable for use in determining whether the period of process inactivity after which the process is deactivated has been exceeded; anda reaper for deactivating the selected active object when it is determined that the period of inactivity after which the selected object is deactivated has been exceeded, and when it has been determined that all active objects in the active object list that are identified by a corresponding deletion flag have been deactivated by the reaper, then reaping the process if it has been determined that the period of process inactivity after which the process will be deactivated has been exceeded.