intr_release()

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

Прототип:

#include <intr.h>
int intr_release( int intr, int (* handler)( void *area ) );

Аргументы:

intr
Номер прерывания к которому необходимо подключить обработчик (подробнее см. intr_capture()).
handler
Указатель на функцию-обработчик (подробнее см. intr_capture()).

Библиотека:

libc

Описание:

Функция позволяет удалить обработчик handler() из очереди обаботчиков и отключить обработку прерывания intr в процессе.

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


Caution: Функция обслуживает внутренний список обработчиков и не поддерживает вызов в многопоточных приложениях. В этом случае требуется отдельная внешняя защита мьютексом.

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

EINVAL
Обработчик прерывания для заданной пары intr / handler не существует.
EPERM
Процесс не имеет привилегий суперпользователя или не является процессом, подключившим указанный обработчик.

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

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

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

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

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

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




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