intr_timed_wait()

Ожидать аппаратного прерывания (нерекомендуемый способ обработки)

Прототип:

#include <intr.h>
int intr_timed_wait( int flags, const struct timespec *timeout );

Аргументы:

flags
Зарезервировано. Должно быть 0.
timeout
Структура struct timespec, определяющее предельное время ожидания прерывания.

Библиотека:

libc

Описание:

Функция позволяет дождаться срабатывания обработчика прерываний, подключенного вызывающим потоком. Предельное время ожидания определяется параметром timeout. Для реализации ожидания используется функция InterruptWait_r() и все ее ограничения наследуются и в данном вызове.

Функция добавлена в рамках обратной совместимости с предыдущими редакциями операционной системы.

Возвращаемое значение:

EINTR
Вызов был прерван сигналом.
ENOTSUP
Зарезервированные аргументы не NULL.
EAGAIN
Нет свободных системных таймеров.
EFAULT
Возникла ошибка при доступе ядра к буферам таймера.
EINVAL
Некорректный тип таймера.
ETIMEDOUT
Вызов разблокирован по тайм-ауту. См. TimerTimeout().

Классификация:

ЗОСРВ «Нейтрино»

Считается устаревшим, начиная с ЗОСРВ «Нейтрино» редакции 2021

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

InterruptAttach(), InterruptDetach(), InterruptMask(), InterruptUnmask(), InterruptWait(), intr_capture(), intr_lock(), intr_release(), intr_unlock()




Предыдущий раздел: Описание API системной библиотеки