#include #include #include #include #include #define SECONDS 10 void process_signal_handler(int signum) { printf("[signal handler] ALARM\n"); sleep(1); printf("[signal handler] prima di exit\n"); exit(0); } int main() { // imposto un gestore di segnale per SIGALRM printf("imposto il gestore di segnali\n"); if (signal(SIGALRM, process_signal_handler) == SIG_ERR) { perror("signal"); exit(1); } printf("prima di alarm()\n"); if (alarm(SECONDS) == -1) { perror("alarm"); exit(1); } printf("prima di pause()\n"); if (pause() == -1) { perror("pause"); exit(1); } printf("[main] prima di exit\n"); return 0; }