Пакет Ada.Interrupts
Пакет Ada.Interrupts
Не-вложенная установка и удаление обработчиков прерываний полагается на дополнительные средства стандартного пакета Ada.Interrupts спецификация которого имеет следующий вид:
package Ada.Interrupts is type Interrupt_ID is Определяется_Реализацией;
type Parameterless_Handler is access protected procedure; function Is_Reserved (Interrupt : Interrupt_ID)
return Boolean; function Is_Attached (Interrupt : Interrupt_ID)
return Boolean; function Current_Handler (Interrupt : Interrupt_ID)
return Parameterless_Handler; procedure Attach_Handler
(New_Handler : in Parameterless_Handler;
Interrupt : in Interrupt_ID); procedure Exchange_Handler
(Old_Handler : in out Parameterless_Handler;
New_Handler : in Parameterless_Handler;
Interrupt : in Interrupt_ID); procedure Detach_Handler
(Interrupt : in Interrupt_ID); function Reference (Interrupt : Interrupt_ID)
return System.Address;private . . . -- стандартом не определеноend Ada.Interrupts; |
Процедура Attach_Handler используется для установки соответствующего обработчика прерывания, переопределяя любой существующий обработчик (включая обработчик пользователя).Если параметр New_Handler - null, то осуществляется восстановление обработчика по умолчанию.Если параметр New_Handler указывает защищенную процедуру для которой не была применена директива компилятора Interrupt_Handler, то возбуждается исключение Programm_Error.