//-------------------------------------------------------------------- // alarma.c //-------------------------------------------------------------------- #include // signal SIGALRM #include // printf #include // alarm //-------------------------------------------------------------------- const int N = 10; // número de alarmas const int ESPERA = 1; // segundos void atrapar_alarma(int); // declaración anticipada //-------------------------------------------------------------------- void instalar_alarma() { signal(SIGALRM, atrapar_alarma); // instalar manejador de señal } //-------------------------------------------------------------------- void atrapar_alarma(int i) // manejador de señal { // instalar_alarma(); // reinstalar tras cada alarma printf("¡¡¡ALARMA!!!\n"); } //-------------------------------------------------------------------- int main() { instalar_alarma(); // instalar alarma por primera vez for (int i = 0; i < N; ++i) { alarm(ESPERA); pause(); } } //--------------------------------------------------------------------