|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 149 ![]() |
Bonjour,
Voila j'aimerai faire un programme qui crée deux fils avec fork(). Le prog envoie aux deux fils en meme temps un tableau d'entier à ltravers un pipe Les fils le trie chacun de leur coté et le premier qui finit renvoi son pid au pere... Je ne vois comment faire pour envoyer en meme temps au deux... |
|
|
00
|
|
|
#2 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 774 ![]() |
ben en même temps... impossible
en revanche, tu peux espérer synchroniser le commencement du traitement grâce à un signal |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 164 ![]() |
au même temps c-a-d ils vont lire au meme temps du pipe ?
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 164 ![]() |
oui bloquer avec un wait puis reveiller les deux avec un signal .
|
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 149 ![]() |
J'ai trouvé une combine avec des signaux...
Code :
|
||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2005 Messages : 149 ![]() |
J'ai résolu ça...
Seul problème qui me reste je n'arrive pas a envoyé un signal à tout le monde en meme temps... j'ai fait kill(0, SIGUSR1); rien ne se passe... et kill(-1, SIGUSR1) ferme Gnome donc c pas top et si je fais un envoi de signal un par un, c toujours le meme qui arrive premier, logique lol |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 164 ![]() |
mais il faut que tu puisses intercepter le signal SIGUSR1, c'est avec siganl(SIGUSR1,UneFonction) ,normalement ca devras marcher .
a+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com