Patent ID: 9141445
Filing Date: 2015-09-22
Classification: G06F

Abstract:
1. A method performed by a processor, the method comprising: executing, by the processor, an application in a user space, wherein executing the application comprises: instantiating, by the processor, an asynchronous data structure in the user space, passing, by the processor, the asynchronous data structure to a kernel for execution as an asynchronous system call, wherein the asynchronous system call is independent of another asynchronous system call, and wherein the asynchronous data structure comprises: a number of the asynchronous system call, a field pointing to another asynchronous data structure, and a flag field; executing, by the processor, the asynchronous system call in the kernel using a first thread; retrieving, by the processor and in view of the asynchronous system call being blocked, a second thread with respect to the user space; continuing to execute, by the processor, the application in the user space using the second thread until a completion of the asynchronous system call while continuing to execute the asynchronous system call using the first thread; returning, by the processor, a result of the asynchronous system call on the first thread in response to the completion of the asynchronous system call; storing, by the processor, an address associated with the result of the asynchronous system call in a buffer; waiting, by the application, for the completion of the asynchronous data structure until at least a minimum number of events are stored in the buffer; determining, by the processor, a status of a next field in the asynchronous data structure; retrieving, by the processor, a value of the next field in response to the status of the next field being non-null; and executing, by the processor, a subsequent asynchronous system call with the value of the next field as an address in the user space.