Spec-Zone.ru › Ada 95
Справочник по Ada 95

9.7.2 Вызовы вхождений с таймером

Вызов timed_entry_call отправляет вызов вхождения, который отменяется, если вызов (или повторное помещение в очередь с прерыванием вызова) не выбран до истечения времени.

Синтаксис

timed_entry_call ::=
select
entry_call_alternative
or
delay_alternative
end select;
entry_call_alternative ::=
entry_call_statement [sequence_of_statements]

Динамические семантика

Для выполнения timed_entry_call имя entry_name и фактические параметры вычисляются, как и для простого вызова вхождения (см. 9.5.3). Время истечения (см. 9.6) для вызова определяется путем вычисления delay_expression в delay_alternative; затем вызов вхождения отправляется.
Если вызов помещён в очередь (включая из-за повторного помещения с прерыванием), и не выбран до истечения времени, делается попытка отменить вызов. Если вызов завершается из-за отмены, выполняется необязательная sequence_of_statements из delay_alternative; если вызов вхождения завершается нормально, выполняется необязательная sequence_of_statements из entry_call_alternative.

Примеры

Пример вызова вхождения с таймером:
select
Controller.Request(Medium)(Some_Item);
or
delay 45.0;
-- контроллер слишком занят, попробуйте что-то другое
end select;


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API