Segunda señal de llamada en sighandler, ¿para qué?
Recientemente he encontrado un código que utilizasignal
:
286 static void sighandler( int signum )
287 {
288 alarmed = 1;
289 signal( signum, sighandler );
290 }
291
292 void set_alarm( int seconds )
293 {
294 alarmed = 0;
295 signal( SIGALRM, sighandler );
296 alarm( seconds );
297 }
Tengo algunos problemas para averiguar por qué necesito llamarsignal
2 veces, especialmente, ¿por qué necesito llamarsignal
ensighandler
? Sé lo que hace el código anterior pero no entiendo por qué necesito llamarsignal
2 veces.