IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Threads & Processus C++ Discussion :

shmget shmflg IPC_PRIVATE et IPC_CREAT


Sujet :

Threads & Processus C++

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Points : 95
    Points
    95
    Par défaut shmget shmflg IPC_PRIVATE et IPC_CREAT
    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é

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Points : 95
    Points
    95
    Par défaut
    Bon j'ai réussi à résoudre le problème même si je manipule très mal les options shmflag pour shmget ET semflag pour semget :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    shmid=shmget((key_t)CLE,1000,0750|IPC_CREAT|IPC_EXCL);
    shmid=shmget((key_t)CLE,1000,0750 |IPC_PRIVATE| IPC_EXCL);
     
    semid= semget(CLES, 4, IPC_CREAT|IPC_EXCL|0600);
    semid= semget(CLES, 4, IPC_PRIVATE|IPC_EXCL|0600);
    cela créé et rend privé CLE et CLES.
    Mais je pensais que l'on pouvait ou pourrait mettre cela sur la même ligne dans les options mais je n'ai jamais réussi !!!
    Je marque résolu à moins que vous ayez une suggestion pour le faire sur la même ligne sur les options mémoire partagé et sémaphores ?
    Bon dimanche à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Correction du man de shmctl/shmget
    Par prgasp77 dans le forum Contribuez
    Réponses: 0
    Dernier message: 23/09/2009, 08h29
  2. [SHM] shmget crée uniquement des segments de mémoire partagée privée
    Par prgasp77 dans le forum Administration système
    Réponses: 1
    Dernier message: 23/09/2009, 08h20
  3. Difference mmap et shmget/shmat !
    Par jamah dans le forum C
    Réponses: 3
    Dernier message: 02/04/2007, 09h38
  4. allouer un tableau 2 dimensions avec shmget.
    Par youp_db dans le forum C
    Réponses: 3
    Dernier message: 12/06/2006, 11h11
  5. Réponses: 1
    Dernier message: 07/04/2006, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo