複数のエントリーを選択する方法を探しています。私は次のタスクを持ってブロックを選択しました。複数のエントリーを選択
がonly allowed alternative in timed entry call is delay
"or" not allowed here
何:意図は、これは以下のコンパイルエラーになり、
task type t_startup_task is
entry start;
entry started;
end t_startup_task;
task body t_startup_task is
startup_sig : Boolean := False;
begin
accept start;
busy : loop -- wait for external flag to become true
status.read_signal (startup_sig);
if startup_sig then
exit busy;
end if;
delay 0.1;
end loop busy;
accept started;
end t_startup_task;
<...>
startup_task.start;
select
startup_task.started;
or
state.wait_done; -- other entry
abort startup_task;
return False;
or
delay 4.0;
end select;
しかしある程度の時間の後に、別の場所で複数の(2)タスクを実行する1が完了するまで実行、またはタイムアウトすることです実際にこれを行う最善の方法?