Следующие два объявления эквивалентны:
protected type prot_Type is
....
pragma Priority(System.Priority'Last);
end;
protected type prot_Type is
....
end;
Один из способов подключения обработчика прерывания:
protected type prot_Type is
procedure Handler;
pragma Attach_Handler(Handler, ...);
end;
--//Attach is made at the creation of the next object:
Object : prot_Type;
это юридическое приложение (оно работает).
Как это возможно, что обработчик имеет максимальный приоритет System.Priority
Last? (Насколько мне известно, юридический приоритет находится в диапазоне Priority'Last + 1 .. Any_Priority'Last).
Другое дело: если я добавлю pragma Priority(System.Priority'Last);
к защищенному объявлению, при разработке (при присоединении обработчика) возникнет исключение program_error.
Кто-нибудь может распространить туман?