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