Patent ID: 8650569

Claim:
A data processing system comprising: an operating system for supporting processes, each process being associated with one or more resources each identifiable by a file descriptor, the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated, and being responsive to instructions of a certain type to re-initialize a process; a user-level library for interfacing between each process and the operating system; and a memory shared between the operating system and the user-level library for storing state information for at least one process, the state information being associated with a resource; wherein the user-level library is arranged to intercept and analyze instructions from the processes to the operating system, and: on detecting an instruction to re-initialize a process associated with a resource that is managed by the user-level library, cause state information equivalent to the pre-existing state information associated with said resource to be stored in the memory as state information for the re-initialized process and to be associated with the resource; on detecting an instruction to re-initialize a process so as to be associated with a resource that is associated with pre-existing state information, store a record of that instruction and then pass the instruction to the operating system; and on being called to configure state information for a process to check whether it has a record of there having been an instruction to re-initialize that process so as to be associated with a resource that is associated with pre-existing state information and: if so, cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the process and to be associated with the resource; and otherwise generate fresh state information for the process.