InterruptUnlock()

Снять защиту критической секции кода в обработчике прерывания

Прототип:

#include <sys/neutrino.h>
void InterruptUnlock( intrspin_t *spinlock );

Аргументы:

spinlock
Спин-блокировка (переменная, совместно используемая обработчиком прерывания и потоком), использованная при вызове InterruptLock().

Библиотека:

libc

Описание:

Функция InterruptUnlock() снимает блокировку критической секции кода, освобождая spinlock и включая прерывания. Может вызваться из потока или из обработчика прерывания. Перед вызовом этой функции поток должен запросить привилегии ввода-вывода, вызвав:

ThreadCtl( _NTO_TCTL_IO, 0 );

Если поток этого не сделает, он может получить SIGSEGV при вызове InterruptUnlock().

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

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

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

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

InterruptDisable(), InterruptEnable(), InterruptLock(), InterruptMask(), InterruptUnmask(), ThreadCtl()




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