[Kos-dev] IPC sous Unix... et pour KOS

d2 kos-dev@enix.org
17 May 2001 14:51:37 +0200


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@ifrance.com> writes:
    Thomas> que se passe-t-il si deux programmes du systeme, creant
    Thomas> des segments de memoire partagee utilisent la meme cle ?

La clef seule ne suffit pas : la taille complete cette idenfication du
shm. Ensuite, les droits d'acces jouent egalement.

Mais il est vrai que rien n'empeche un meme utilisateur d'avoir 2
programmes independants qui n'ont rien a voir d'utiliser la meme clef
pour identifier 1 segment avec la meme taille : on se retrouve alors
mal en point, puisqu'on partage le meme segment, alors qu'on ne
devrait pas.

    Thomas> etant donnee que la cle doit etre fixe dans le programme
    Thomas> pour qu'il y retrouve ses petits, comment ca se passe si
    Thomas> un programme X partage une region de cle 1234 entre tous
    Thomas> ses processus, puis un programme Y (qui n'a rien a voir
    Thomas> avec le programme X) a fixe la cle a 1234 ?

Si la longueur du segment est identique des 2 cotes, et si les droits
du 1er shmget le permettent, alors il n'y aura pas d'erreur, et les 2
programmes partageront (malheureusement) la meme zone. D'ou probleme.

    Thomas> PS : j'ai envoye plusieurs messages depuis quelques jours,
    Thomas> et je n'ai recu aucune reponse, tout le monde dort ? :))

J'ai des circonstances attenuantes.  Puis il va falloir que je me
rafraichisse la memoire avec les sources avant de te repondre.

Bonne journee,

-- 
d2