Quel probleme peut se cacher derriere un sujet aussi étrange arf !

Bon voila un bout de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
while(1){
	priorite=rand()%10; //priorités de 0 a 9
	tpsExec=rand()%15 + 5; //tps d'execution de 5 a 19
	dateS=1111;//date de soumission fixe pour le moment
	sprintf(tpsExecChar, "%i",tpsExec);//conversion en char
 
		switch(pid=fork()){
			case -1:
				perror("Erreur creation processus");
				break;
			case 0: //dans le fils
				if (execl("./proc","proc",tpsExecChar,NULL)!=0)perror("lancement processus");
				break;
			default://dans le pere
				//ajout du processus a la table
 
				pthread_mutex_lock (&mutex);
				Add(&tabProc,pid, priorite, dateS);
				pthread_mutex_unlock (&mutex);
				//printf("ajoutEffectue\n");			
			break;
		}
 
		//printf("Processus lancé ! pid : %d | priorite : %d | dateS : %d\n",pid,priorite,dateS);
		if(kill(pid,SIGINT)==-1){
			printf("erreur envoi du signal\n");
		}else{
			printf("signal bien envoyé\n");
		}
		sleep(5);	
	}
Ceci est un bout de code d'un thread qui est sensé creer des processus toutes les 5 secondes et placer certaines infos concernant les processus dans une liste chainee.
Les processus créés on un handler pour le SIGINT :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void handlerSIGINT(int sig){
printf("Processus %d : arret\n",monPid);
exit(0);
}
Le souci est que au apres que le premier SIGINT soit lancé, c'est comme si le sleep était court-circuité, on a ensuite une création de processus tres rapide et le lancement des signaux a la meme vitesse
Je voi pas du tout quel peut être le probleme...