Отключить обработчик прерывания
#include <sys/neutrino.h>int InterruptDetach( int id );int InterruptDetach_r( int id );
libc
Системные вызовы InterruptDetach() и InterruptDetach_r() отключают обработчик прерывания с идентификатором id. Если после отключения обработчика прерывание более никем не обрабатывается, то оно маскируется. Поток, отключающий обработчик прерывания, должен находиться в том же процессе, что и поток, который его подключил.
Функции идентичны за исключением способа возврата ошибок.
Перед вызовом любой из этих функций поток должен запросить привилегии ввода-вывода, вызвав:
ThreadCtl( _NTO_TCTL_IO, 0 );
Если поток этого не сделает, он может получить SIGSEGV
при вызове InterruptDetach() или InterruptDetach_r().
Данные вызовы неблокирующие.
-1
, код ошибки записывается в errno. Любое другое возвращенное значение считается успешным завершением.EOK
возвращается при успешном завершении. Функция НЕ устанавливает errno. При возникновении ошибки функция возвращает один из перечисленных ниже кодов.
ЗОСРВ «Нейтрино»
InterruptAttach(), InterruptAttachEvent(), InterruptHookIdle(), InterruptUnlock()
Предыдущий раздел: Описание API системной библиотеки