Этот вопрос касается присоединения прерываний (или сигналов) к защищенному объекту, чтобы он функционировал как обработчики прерываний.Замечательно, что Ада предоставляет вам в основном стандартный для языка способ сделать это, но есть пределы тому, что в стандарте, и я думаю, что ваш вопрос достигает одного.Вы действительно должны прочитать документацию вашего компилятора для этого.
Например, если то, к чему вы присоединяетесь, является честным системным прерыванием, то вполне возможно, что ваш обработчик будет вызываться напрямую изсистемное прерывание, которое, конечно, полностью вне (и, следовательно, выше) как приоритета процесса вашей ОС, так и системы приоритета задач Ады.
Как правило, в таком случае, как и в случае с любым ISR, вы захотитеабсолютный минимум, необходимый для записи и обработки прерывания, минимального взаимодействия с системой (без операций ввода-вывода или управления задачами) и возврата управления обратно в систему, чтобы она снова могла нормально работать.В вашем случае вы можете увеличить значение переменной или установить внутренний флаг для вашего тегового типа, удалить любую изменчивую информацию о прерывании, которое вам может понадобиться позже, а затем вернуть.