Bonjour

J'ai du mal à bien comprendre surement les options shmflg de shmget:
car ce qui m'embête dès que je change le code de mon prog que je re génère il me bloque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
/* création du segment de mémoire partagée avec la clé CLE */
shmid=shmget((key_t)CLE,1000,0750 |IPC_CREAT | IPC_EXCL);
 
/* attachement */
	mem=shmat(shmid,mem,0);
 
	if(mem == (char*) -1) {
		printf("\nShmat failed, erreur alloc memoire \n");
		return -1;
	}
Je dois ensuite rechanger à chaque fois la
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
/* cle du segment de mémoire */
	#define CLE
re générer le code pour que ça passe.

J'ai essayé ceci pensant avoir compris en lisant http://manpagesfr.free.fr/man/man2/shmget.2.html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
shmid=shmget((key_t)CLE,1000,0750 |IPC_PRIVATE| IPC_EXCL);
//voir
shmid=shmget((key_t)CLE,1000,0750 |IPC_PRIVATE  |IPC_CREAT|IPC_EXCL);
Mais je rencontre le même problème ou disons que une fois créé avec ipc_private cela passe.

Mais donc je me suis que vous étiez mon dernier recours car je ne devais surement pas avoir bien compris shmflg et que c'est énervant de changer la CLE à chaque modif.
Merci à vous et vive l'été