signaux.c
00001 #include <signal.h>
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004
00005 sig_atomic_t quit = 0;
00006
00007 static void signalsortie(int n) {
00008 quit = 1;
00009 }
00010
00011 int main()
00012 {
00013 sigset_t mask;
00014 struct sigaction gestionnaire;
00015
00016 gestionnaire.sa_handler = signalsortie;
00017 gestionnaire.sa_flags = 0;
00018
00019 if (sigemptyset(&mask)) return EXIT_FAILURE;
00020 if (sigaction(SIGTERM, &gestionnaire, NULL))
00021 return EXIT_FAILURE;
00022
00023 while(!quit) {
00024
00025 }
00026 printf("sortie propre de la boucle\n");
00027 return 0;
00028 }