Bonjour à tous!
J'aurais grand besoin de votre science,j'ai un projet en C qui a pour but la programmation en temps réels et l'utilisation de processus.
Pour résumer il s'agit d'un parking,la borne d'entrée,de sortie et les voitures sont des processus,les places de parking un tableau en mémoire partagé,et les agents de circulations qui autorise l'acces a une rangée quand il y a moins de 3 voitures dedans sont des sémaphores partagés.
Je suis deja bien avancé,mais il reste quelques petits problèmes,et comme je débute en C c'est assez hard.
La j'ai 2 prob: d'abord à l'execution le programme affiche 2 fois l'instructions "Tapez enter ..." du début,ensuite des que j'appuie sur une touche (ce qui envoie le signal à la borne bleu) la borne bleu n'arrete plus de faire la fonction creer_voiture ce qui plante mon ordi vu que ce sont des fork! j'ai essayé avec une bete fonction qui faisait un printf et c'est le même,ça tourne en boucle! Le prof veut absolument un processus borne bleu (sinon je ferais direct creer voiture dans mon while getchar!).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 //dans le main printf("Tapez enter pour ajouter une voiture, et sur 'q' pour quitter! \n"); while(getchar()!='q') { kill(borne_bleu,SIGUSR1); } ... //dans la borne bleu(qui se trouve dans le main bien sur) borne_bleu=fork(); if(borne_bleu==0) { signal(SIGUSR1,creer_voiture); }
Voila merci d'avance à vous tous!
Partager