sa_handler une fois avec un & une fois sans ?!
	
	
		Bonjour,
J'aurais besoin de vos lumières sur qqch qui me préoccupe depuis que je m'en suis rendu compte !
Pourquoi lors de la gestion d'un signal, une fois on met un & devant l'appel de la fonction qui gère le signal et une autre fois pas ! Petit exmple pour être un peu plus claire :
Exemple 1 : 
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13
   | 
void handler(int sig){
   printf("signal SIGINT reçu\n");
   exit(0);
}
int main(){
   struct sigaction nvt, old;
   memset(&nvt,0,sizeof(nvt));
   nvt.sa_handler=&handler;
   sigaction(SIGINT,&nvt,&old);
   pause();
} | 
 Exemple 2 :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   |  
 
void Recuperation(int sig) {
   static compt = 0;
   if (++compt == 5) {
      printf("Jen ai assez!!\n");
      exit(0);
   } else {
      printf("OK je recupere le signal SIGINT\n");
   }
}
 
int main() {
   struct sigaction nvt, old;
   memset(&nvt,0,sizeof(nvt)); 
   nvt.sa_handler = Recuperation;
   sigaction(SIGINT,  &nvt, &old);
   printf("Taper 5 ^C pour arreter le programme\n");
   while(1);
} | 
 Pourquoi dans l'un il y a un & et pas dans l'autre ?!