×

Techniques for inter-user-space communication

  • US 8,359,603 B1
  • Filed: 03/28/2008
  • Issued: 01/22/2013
  • Est. Priority Date: 03/28/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method of intermodule communication between a first code module and a second code module comprising:

  • providing said first code module and said second code module each executing in user space;

    providing a shared memory portion including storage for one or more commands and which is accessible to said first and said second code modules;

    providing a first first-in-first-out (FIFO) structure for sending a location in said shared memory portion from said first code module to said second code module;

    providing a second FIFO structure for sending a location in said shared memory portion from said second code module to said first code module;

    performing, by said first code module, a first call to code of an application programming interface, said first call having a defined client interface including a first portion of one or more input parameters identifying one or more callback routines of the first code module and a second portion of one or more input parameters identifying other input, said one or more callback routines each being invoked in subsequent processing by said code of the application programming interface;

    storing, by said first code module, command data for a command at a first location in said shared memory portion, said storing being performed by a first of said one or more callbacks invoked by said code of the application programming interface; and

    issuing a command from said first code module to said second code module by sending said first location from said first code module to said second code module using said first FIFO structure, wherein said issuing is performed by said code of the application programming interface as a result of performing said first call, wherein a completion callback is an optional one of the callback routines of the defined client interface which, if specified in the first call, is invoked by said code of the application programming interface after performing said issuing and causes said first call by the first code module to be performed asynchronously whereby the first code module continues execution while also performing processing for the first call, and wherein if the completion callback is omitted from the first call, said first call is performed synchronously whereby execution of the first code module waits inline at a point of invocation of the first call until processing of the first call completes prior to continuing execution of code of the first code module subsequent to the first call.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×