A method for use in a data processing system connected by means of one or more sockets to a network in accordance with a data transfer protocol, the data processing system having one or more event queues for holding network events, each network event being associated with at least one of the sockets , and the data processing system being capable of responding to interrupts issued in response to the presence of a network event in the data processing system by invoking a stack to cause processing in accordance with the data transfer protocol of network events on the event queues , wherein such processing can cause a change in a status of one or more of the sockets , wherein access to at least a part of the stack is restricted by means of a lock, such that only one thread of execution may access a restricted part of the stack concurrently, the method comprising the steps of: permitting interrupts to be enabled in the data processing system when the lock on the stack is checked and it is determined that an application is not currently accessing or attempting to access the restricted part of the stack; receiving an enquiry from the application, supported by the data processing system, as to the status of at least one of the sockets , wherein said status is an indicator of whether the at least one of the sockets is ready to receive data for transmission over the network or ready to provide to the application , data received over the network; in response to receiving the enquiry, determining whether the interrupts are enabled in the data processing system; and in dependence on the result of the determination, deciding whether to perform processing in accordance with the data transfer protocol of network events on the event queues , wherein: when the result of the determination is positive, the step of deciding results in a decision not to perform the said processing; and when the result of the determination is negative, the step of deciding results in a decision to perform the said processing. permitting interrupts to be enabled in the data processing system when the lock on the stack is checked and it is determined that an application is not currently accessing or attempting to access the restricted part of the stack; receiving an enquiry from the application, supported by the data processing system, as to the status of at least one of the sockets , wherein said status is an indicator of whether the at least one of the sockets is ready to receive data for transmission over the network or ready to provide to the application , data received over the network; in response to receiving the enquiry, determining whether the interrupts are enabled in the data processing system; and in dependence on the result of the determination, deciding whether to perform processing in accordance with the data transfer protocol of network events on the event queues , wherein: when the result of the determination is positive, the step of deciding results in a decision not to perform the said processing; and when the result of the determination is negative, the step of deciding results in a decision to perform the said processing. when the result of the determination is positive, the step of deciding results in a decision not to perform the said processing; and when the result of the determination is negative, the step of deciding results in a decision to perform the said processing. <EOS>