![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Ну примерно так это выглядит:
Установка обработчиков сигнала. SIGALRM генерируется alarm, по прошествии указанного кол-ва секунд. SIGVTALRM - setitimer'ом. При генерации сигнала могут произойти следующие вещи - сигнал может быть проигнорирован, и мы о нём не узнаем. Приложение будет работать так как будто сигнала не было. Приложение может быть нагло убито(и мы об этом не узнаем - что нас убивают). Или может быть вызван пользовательский обработчик сигналов. Управление передастся обработчику сигнала, приложение продолжит работу. Кстати,
Что собственно мы и хотим. В качестве аргумента обработчик получает номер сигнала Подробнее смотреть в signal(2), signal(7), alarm(2), sigaction(2).
13 - установка таймера. Каждые пол секунды (кажется) приложение будет получать SIGVTALRM. ITIMER_VIRTUAL выбран для того, чтоб приложение получало нечто отличное от SIGALRM. 14 - perror просто для отладочных целей - всё ли передано правильно. Подробнее смотреть setitimer(2), perror(3) -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Спасибо, буду разбираться.
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
powerfox Если ты используешь SDL, то там вроде свой таймер есть, переносимый.
|
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
To Perchilla:
Огромное спасибо! Наверное, даже в том туториале описан этот таймер - поищу, когда снова будет время. Добавлено @ 16:36
Реально работает. Похоже на события, обсуждаемые в соседней ветке. Нашёл сигнал выдаваемый по нажатию клавиши. Можно совместить с getchar(), чтобы получать код клавиши в GUI приложении. SDL обработчик мне не очень нравится - но других я не знаю?(не буквы) |
|||
|
||||
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: 1 Всего: 5 |
||||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
leniviy, ты видел сколько лет теме?
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |