A computer-implemented method and apparatus in a computer system for
inter-process communication. A first procedure allocates a first buffer in
a first memory space shared by the first procedure (e.g. a client process)
and a second procedure (e.g. a kernel or server process). The first
procedure then marshals arguments for communicating with the second
procedure in the first buffer. The first procedure indicates that a
message for the second procedure is being passed and passes a first
reference to the first buffer in the first memory space to the second
procedure. The second procedure detects the indication of the message by
the first procedure. The second procedure then references the first buffer
and copies the arguments contained in the first buffer into a temporary
buffer. The second procedure can then deallocate the first buffer. In
implemented embodiments of the present invention, inter-process
communication is more efficient because the first buffer is deallocated
upon receipt of the communication by the second process.
Une méthode et un appareil ordinateur-mis en application dans un système informatique pour la communication d'interprocessus. Un premier procédé assigne un premier amortisseur dans un premier espace mémoire partagé par le premier procédé (par exemple un processus de client) et un deuxième procédé (un processus par exemple de grain ou de serveur). Le premier procédé rassemble alors des arguments pour communiquer avec le deuxième procédé dans le premier amortisseur. Le premier procédé indique qu'un message pour le deuxième procédé est passé et passe une première référence au premier amortisseur dans le premier espace mémoire au deuxième procédé. Le deuxième procédé détecte l'indication du message par le premier procédé. Le deuxième procédé alors met en référence le premier amortisseur et copie les arguments contenus dans le premier amortisseur dans un amortisseur provisoire. Le deuxième procédé peut alors désaffecter le premier amortisseur. Dans des modes de réalisation mis en application de la présente invention, la communication d'interprocessus est plus efficace parce que le premier amortisseur est désaffecté à la réception de la communication par le deuxième processus.