Wait () et gestion des signaux

Wait () et gestion des signaux - C - Programmation

Marsh Posté le 03-04-2004 à 15:36:38    

Bonjour,  
 
J'ai un programme qui genere des processus grace à un fork à l'interieur d'une boucle infini. Une fois que les process on fini leur boulot ils meurent et envoi un signal au père.  
Je recupère le signal et je fait un wait pour recupérer le pid du fils décédé. Je garde dans une liste chainée des infos sur les process que je lance. Quand un fils meure je met à jour ma liste.  
 
J'ai activé des traces et il semble que lorsque 2 process meurent en même temps, je ne recupère qu'un seul signal. Ceci me pose des problèmes car je garde des infos inutile dans ma liste.
 
Ma question est donc de savoir comment sont gérés les signaux si ceux-ci arrivent dans un laps de temps très court
 
Merci
 
 


---------------
L'argent ne fait pas le bonheur... mais il y contribue.
Reply

Marsh Posté le 03-04-2004 à 15:36:38   

Reply

Marsh Posté le 03-04-2004 à 15:43:05    

normal, les signaux ne sont pas empilés.
 
il te faut utiliser les signaux temps réel posix1b notemment sigqueue

Reply

Marsh Posté le 03-04-2004 à 16:20:26    

Si le cas se produit, est-ce que Wait est en cause parcequ'il ne sait pas attraper tout les signaux, ou est-ce la faute à la fonction associé à sigaction qui n'est pas terminé à la réception d'un nouveau signal ?
 
 
 


---------------
L'argent ne fait pas le bonheur... mais il y contribue.
Reply

Marsh Posté le 03-04-2004 à 18:03:01    

c'est la faute aux signaux de bases, qui sont implémentés sans pile

Reply

Sujets relatifs:

Leave a Replay

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