/* * Programa um alarme e fica esperando o usuário teclar enter. Como o * sinal SIGALRM foi desabilitado, a espera não será interrompida. * Restabelece o tratador padrão para SIGALARM e repete a operação. * Desta vez, caso o usuário demore mais de um segundo, o programa é * encerrado. */ #include #include #include int main (void) { char c; /* Primeiro sinal será ignorado. */ signal(SIGALRM, SIG_IGN); alarm (1); printf("Tecle enter para terminar: "); scanf("%c", &c); /* Segundo sinal irá encerrar o programa caso o usuário demore. */ signal(SIGALRM, SIG_DFL); alarm (1); printf("Tecle enter para terminar: "); scanf("%c", &c); return 0; }