[C / UNIX ] Semaphore entre plusieurs processus [Résolu]

Semaphore entre plusieurs processus [Résolu] [C / UNIX ] - C - Programmation

Marsh Posté le 11-01-2006 à 23:30:45    

Hello à tous,
 
Voilà mon souci.
J'ai un processus père qui crée plusieurs fils, qui sont recouverts par un execl.
Bon voilà, j'ai crée un semaphore que je veux partager avec tous les autres processus, seulement, ok, le semaphore est créé, par contre, une fois que je fais un P(Sem) dans un processus fils, ben ce processus se bloque, quand bien même je fais un V(Sem) derrière.
 
Pour info, j'ai passé en parametre a mes processus la clé retournée par ftok pour pouvoir acceder au sem dans celui ci.
 
Donc y'a t'il une méthode connue, voire inconnue  :sol:  qui permettrait de partager sans souci un sémaphore entre plusieurs processus.
 
Merci bien  :hello:


Message édité par couic-couic le 12-01-2006 à 20:24:45
Reply

Marsh Posté le 11-01-2006 à 23:30:45   

Reply

Marsh Posté le 12-01-2006 à 00:06:05    

quand tu crées ton sémaphore il a bien un compte initial de "1" et pas "0" ?

Reply

Marsh Posté le 12-01-2006 à 00:07:54    

Eh bien, oui, il est sensé être initialisé à "1".

Reply

Marsh Posté le 12-01-2006 à 11:27:41    

sûr (vis à vis de ton code)? enfin ça fait longtemps que j'ai pas fait d'IPCS....
 
le V() que tu fais derrière c'est au niveau du fils (si il est bloqué par le P il atteindra jamais le V) ou du père ?


Message édité par bjone le 12-01-2006 à 11:28:10
Reply

Marsh Posté le 12-01-2006 à 20:24:09    

Bonsoir,
 
Bon, aprés une bonne nuit de sommeil j'ai eu les idées claires, je n'employais pas la bonne méthode.
 
Ce que j'ai donc fait, c'est créér ma clé par le biais de ftok, et passer le même char* (le path) a tous mes processus, ainsi je pourrai avoir un sémaphore unique.
 
Merci de ton aide en tout cas l'ami !

Reply

Marsh Posté le 13-01-2006 à 10:22:48    

oki

Reply

Sujets relatifs:

Leave a Replay

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