Je suis à la recherche d'un moyen de sélectionner plusieurs entrées. J'ai la tâche suivante et sélectionnez le bloc. L'intention est d'exécuter plusieurs (2) tâches ailleurs, exécutez jusqu'à ce qu'un terminée, ou délai d'attente après un certain laps de tempsAda sélectionnez plusieurs entrées
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;
Cependant, il en résulte l'erreur de compilation suivante:
only allowed alternative in timed entry call is delay
"or" not allowed here
Quelle est la meilleur moyen de le faire réellement?