Shared Memory Posix sur un Mac

Shared Memory Posix sur un Mac - C - Programmation

Marsh Posté le 07-02-2011 à 13:27:20    

Bonjour,
j'ai un soucis avec les shared memory posix sur Mac Os 10.6.
 
Sous Linux, elles sont situées dans /dev/shm, ce fichier n'existe pas sur Mac os, j'aimerai savoir s'il est possible de supprimer manuellement les shm sous Mac.
 
Merci d'avance

Reply

Marsh Posté le 07-02-2011 à 13:27:20   

Reply

Marsh Posté le 07-02-2011 à 13:40:05    

Puck462 a écrit :

Bonjour,
j'ai un soucis avec les shared memory posix sur Mac Os 10.6.

 

Sous Linux, elles sont situées dans /dev/shm


1. Pas sous linux, sous linux avec noyau >= 2.6
2. Et c'est complètement optionnel, c'est tellement optionnel que tu peux le dégager en éditant un fichier de conf, tu ne peux pas te reposer sur sa présence.
3. POSIX Shared Memory t'y accèdes par shm_open et shm_unlink, pas /dev/shm

Puck462 a écrit :

ce fichier n'existe pas sur Mac os


4. C'est pas un fichier, c'est un filesystem

Puck462 a écrit :

j'aimerai savoir s'il est possible de supprimer manuellement les shm sous Mac.


Pourquoi donc voudrais tu faire une chose pareille?


Message édité par masklinn le 07-02-2011 à 13:41:40

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-02-2011 à 13:47:22    

Je suis entrain de coder un petit programme de producteur/consommateur, les producteurs remplissent un buffer, les consommateurs utilisent ce qu'il y a dans le buffer, je crée donc une mémoire partagée pour le buffer afin d'avoir deux programmes qui tournent en même temps (producteur et consommateur) et qui exploite le buffer en même temps.
 
J'utilise comme clé de shm un valeur constante (non générée par ftok) et j'ai des soucis avec "shm_unlink" ce pour quoi, j'aimerai pouvoir supprimer ma shared memory manuellement afin de debuger plus facilement mon petit programme.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed