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.
le signal est bien génerer mais ca affiche en boucle "signal sigsegv"
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 #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"); }
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
Partager