Processus signaux : boucle infinie
Bonjour,
je suis en train découvrir les signaux et j'ai un petit exercice où je dois :
1) faire un programme qui intercepte un signal SIGSEGV et affiche un message.
J'ai réussi à le faire mais ça part en boucle infinie je n'ai pas compris pourquoi si quelqun peut jeter un oeil svp, merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void sigsegv(int s);
int main() {
signal(SIGSEGV,sigsegv);
int *ptr;
printf("%d",*ptr); // ça doit generer le signal
}
void sigsegv(int s) {
printf("signal sigsegv");
} |
le signal est bien génerer mais ca affiche en boucle "signal sigsegv"
J'ai également une 2ème question qui est je sais qu'un signal peut etre perdu si il est envoyé 2x fois avant réception mais comment montrer ça avec du code svp