The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Сигналы"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Сигналы" 
Сообщение от z34 Искать по авторуВ закладки(ok) on 06-Окт-05, 19:19  (MSK)
Вообщем есть программа не важно чего делает :)
короче работает с сигналами. задача чтобы по сигналу будильника выполняла некоторую функцию handler_move()
связываем будильник с обработчиком:
signal(SIGALRM,handler_move());
Далее запускаем таймер функцией setitimer();
ну и ждем прихода сигнала функцией pause();

Компилю с флагами -Wall -ansi :) без ощибок вообще, и дома, и в универе.
Дома работает нормально без проблем а вот в универе выдается мессага Alarm Clock.
Дома стоит Mandrake
в универе ASP Linux
подскажите что значит данное сообщение?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • Сигналы, Alexander S. Salieff, 20:22 , 06-Окт-05, (1)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Сигналы" 
Сообщение от Alexander S. Salieff emailИскать по авторуВ закладки on 06-Окт-05, 20:22  (MSK)
>Вообщем есть программа не важно чего делает :)
>короче работает с сигналами. задача чтобы по сигналу будильника выполняла некоторую функцию
>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);

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру