Next: L'envoi de message Up: Les files de messages Previous: La structure générique d'un

Utilisation des files de messages

La primitive

#include <sys/msg.h>
int msgget (key_t  cle, int options);
est une fonction proche de la fonction open. Elle renvoie un descripteur d'IPC de file de messages de key = cle. Avec création ou non de la file de messages en fonction de l'existence de celle-ci et du paramètre options.
La valeur du paramètre options doit être construite avec une conjonction du mode d'accès et des constantes IPC_CREAT et IPC_EXCL.
 
Si cle == IPC_PRIVATE

une nouvelle file de messages priv'ee est cr'ee.

Sinon

Si la cle correspond à une file inexistante:

SI IPC_CREAT est positionn'e (dans options), une nouvelle file est cr'ee associ'e `a cette cl'e,

avec les droits d'efinis dans options.

Le cr'eateur et le propri'etaire sont positionn'es

aux valeurs de l'euid et du egid du processus r'ealisant l'appel,

le dipc interne de la file est retourn'e.

sinon erreur retour -1

Sinon la cle correspond `a une file d'ej`a existante :

Si les 2 indicateurs IPC_CREAT et IPC_EXCL sont positionn'es dans options

une erreur est d'etect'ee, retour -1, errno = EEXIST.

sinon l'identification de la file est retourn'e.

En bref, IPC_EXCL nous permet de vérifier que la file n'existait pas.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci