#include <stdio.h>
#include <signal.h>
void ALARMhandler(int sig)
{
signal(SIGALRM, SIG_IGN); /* ignore this signal */
printf("Hello");
signal(SIGALRM, ALARMhandler); /* reinstall the handler */
}
int main(int argc, char *argv[])
{
alarm(2); /* set alarm clock */
while (1)
;
printf("All done");
}
Я ожидаю, что программа будет печатать "привет" через 2 секунды, но вместо этого вывод будет "zsh: alarm./a.out"
Любая идея, что происходит?