Вообщем есть программа не важно чего делает :)
короче работает с сигналами. задача чтобы по сигналу будильника выполняла некоторую функцию handler_move()
связываем будильник с обработчиком:
signal(SIGALRM,handler_move());
Далее запускаем таймер функцией setitimer();
ну и ждем прихода сигнала функцией pause();Компилю с флагами -Wall -ansi :) без ощибок вообще, и дома, и в универе.
Дома работает нормально без проблем а вот в универе выдается мессага Alarm Clock.
Дома стоит Mandrake
в универе ASP Linux
подскажите что значит данное сообщение?
>Вообщем есть программа не важно чего делает :)
>короче работает с сигналами. задача чтобы по сигналу будильника выполняла некоторую функцию
>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);