Книга: Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform
Таймеры, посылающие сигналы
Таймеры, посылающие сигналы
На настоящий момент мы уже рассмотрели практически все, что относится к таймерам, за исключением одного небольшого момента. Мы обеспечивали отправку импульса, но у нас также есть возможность посылать POSIX-сигналы. Давайте посмотрим, как это делается:
timer_create(CLOCK_REALTIME, NULL, &timerid);
Это простейший способ создать таймер, который будет посылать вам сигнал. Он обеспечивает выдачу сигнала SIGALRM при срабатывании таймера. Если бы мы предоставили struct sigevent
, мы могли бы определить, какой именно сигнал мы хотим получить:
struct sigevent event;
SIGEV_SIGNAL_INIT(&event, SIGUSR1);
timer_create(CLOCK_REALTIME, &event, &timerid);
Это обеспечит нам выдачу сигнала SIGUSR1 вместо SIGALRM.
Сигналы таймера перехватываются обычными обработчиками сигналов, здесь нет ничего необычного.
- 12.6. Сигналы реального времени
- Звуковые сигналы BIOS
- 7.2.6.3. Системные демоны и традиционные сигналы
- Сигналы и шумы
- Световые сигналы
- Сигналы
- Глава 10 Сигналы
- 10.3. Стандартные сигналы С: signal() и raise()
- 10.6. Сигналы POSIX
- 10.7. Сигналы для межпроцессного взаимодействия
- 10.8. Важные сигналы специального назначения
- 10.8.2. Сигналы, управляющие заданиями