>Вообщем есть программа не важно чего делает :)
>короче работает с сигналами. задача чтобы по сигналу будильника выполняла некоторую функцию
>handler_move()
>связываем будильник с обработчиком:
>signal(SIGALRM,handler_move());
>Далее запускаем таймер функцией setitimer();
>ну и ждем прихода сигнала функцией pause();
>
>Компилю с флагами -Wall -ansi :) без ощибок вообще, и дома, и
>в универе.
>Дома работает нормально без проблем а вот в универе выдается мессага Alarm
>Clock.
>Дома стоит Mandrake
>в универе ASP Linux
>подскажите что значит данное сообщение?
Точно я не подскажу, но практика научила ставить обработчики на сигналы в новом синтаксисе, ибо старые вроде как с проглюками:
sig_atomic_t GlobalExitFlag=0;
void (*mysignal(int signo, void (*hndlr)(int)))(int)
{
struct sigaction act, oact;
act.sa_handler=hndlr;
sigemptyset(&act.sa_mask);
act.sa_flags=0;
if (signo!=SIGALRM) act.sa_flags|=SA_RESTART;
if (sigaction(signo, &act, &oact)<0) return(SIG_ERR);
return(oact.sa_handler);
}
static void sig_hTERM(int signo)
{
GlobalExitFlag=1;
}
mysignal(SIGTERM, sig_hTERM);