Bonjour,
 
Je suis occupée de réaliser une application multi thread du type producteur-consommateur avec un buffer en mémoire partagée entre les threads producteurs et les threads consommateurs.
J'ai quelques soucis avec l'écriture en mémoire partagée:
Je crée mon segment de mémoire partagée:
Code :
 - int buffer;
 - buffer = shmget(IPC_PRIVATE, n*sizeof(struct MyStruct, IPC_CREAT|IPC_EXCL|00660); //n est défini plus faut et fixe !
 
  | 
 
pour chaque thread qui veut faire une opération de lecture ou d'écriture, j'attache le segment de mémoire partagée:
Code :
 - struct MyStruct *memo;
 - memo = (struct Vote *)shmat(buffer, 0, SHM_W); //pour l'écriture
 - struct MyStruct dataToAdd;
 - //initialisation de dataToAdd
 -  //et puis la j'veux mettre dataToAdd en mémoire partagée
 
  | 
 
Vu que je veux faire un buffer, je veux utilisé ma mémoire partagée comme un tableau de structure ...  
J'ai un int qui indique l'index du tableau auquel il faut écrire .
Comment faire???
 
Merci d'avance