Add test
From-SVN: r127884
This commit is contained in:
parent
0f35a72c2a
commit
e4170021a9
1 changed files with 51 additions and 0 deletions
51
gcc/testsuite/gnat.dg/requeue1.adb
Normal file
51
gcc/testsuite/gnat.dg/requeue1.adb
Normal file
|
@ -0,0 +1,51 @@
|
|||
-- { dg-do run }
|
||||
|
||||
with Ada.Text_Io; use Ada.Text_Io;
|
||||
|
||||
procedure requeue1 is
|
||||
|
||||
protected P is
|
||||
entry Requeue_Without_Abort;
|
||||
entry Queue_Without;
|
||||
procedure Open;
|
||||
private
|
||||
Opened: Boolean := False;
|
||||
end P;
|
||||
|
||||
protected body P is
|
||||
entry Requeue_Without_Abort when True is
|
||||
begin
|
||||
-- BUG: after this requeue no time out of the call should be possible
|
||||
requeue Queue_Without;
|
||||
end Requeue_Without_Abort;
|
||||
|
||||
entry Queue_Without when Opened is
|
||||
begin
|
||||
Opened := False;
|
||||
end Queue_Without;
|
||||
|
||||
procedure Open is
|
||||
begin
|
||||
Opened := True;
|
||||
end Open;
|
||||
end P;
|
||||
|
||||
-- Test of timed entry call to an entry with requeue without abort
|
||||
task T_Without;
|
||||
task body T_Without is
|
||||
begin
|
||||
select
|
||||
P.Requeue_Without_Abort;
|
||||
or
|
||||
delay 1.0;
|
||||
Put_Line("failed");
|
||||
end select;
|
||||
|
||||
exception
|
||||
when others => Put_Line ("failed");
|
||||
end T_Without;
|
||||
|
||||
begin
|
||||
delay 3.0;
|
||||
P.Open;
|
||||
end;
|
Loading…
Add table
Reference in a new issue