blob: f7902966b5686734ced778f7e80187559dbb9b9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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;
|