structure primitive sigaction
	
	
		Bonsoir, j'aimerais vous poser une question sur le bout de code suivant
	Code:
	
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
   |  
struct sigaction s2;
 
void traitementSignal(int s)
{
 
    if(i!=5)
    {
        i++;
        printf("Signal %d reçu\n",i);
    }else{
         sigaction(SIGINT,&s2,NULL);
    }
 
}
 
int main()
{
	struct sigaction s;
    s.sa_handler=traitementSignal;
    sigemptyset(&s.sa_mask);
    sigaction(SIGINT,&s,&s2);
    while(1);
    return 0;
} | 
 J'empêche donc 5 fois l'interruption du programme avant de remettre le comportement par défaut.
Mais, j'aime pas trop le fait de mettre une variable en global comme ça...dans mon cas s2.
Y aurait il un moyen de déclarer s2 dans le main afin de le passer en paramètre de traitementSignal ? Si oui comment le code va t'il changer au niveau des appels ?
Merci d'avance.