comp.lang.ada
 help / color / mirror / Atom feed
* Requeue in GNAT 3.14p (Linux)
@ 2002-06-19 13:17 Dmitry A. Kazakov
  2002-06-19 14:22 ` Pascal Obry
  2002-06-19 14:45 ` Anatoly Chernyshev
  0 siblings, 2 replies; 5+ messages in thread
From: Dmitry A. Kazakov @ 2002-06-19 13:17 UTC (permalink / raw)


Hi!

The following code is the distilled problem. When a chain of external
requeues returns back to a protected object it causes a hang-up on the
last requeue. It happens in GNAT 3.14p under Linux. Interestingly is
that under Windows NT it works. I found nothing in ARM that forbids
that. Is it a GNAT bug?

------------------------------ test.adb
with Ping_Pong; use Ping_Pong;

procedure Test is
begin
   A.Service;
end Test;
------------------------------ ping_pong.ads
package Ping_Pong is
   protected A is
      entry Service;
      entry Back;
   end A;
   
   protected B is
      entry Wall;
   end B;
   
end Ping_Pong;
---------------------------- ping_pong.adb
with Text_IO;

package body Ping_Pong is
   protected body A is
      entry Service when True is
      begin
         Text_IO.Put_Line ("Service!");
         requeue B.Wall;
      end Service;
      entry Back when True is
      begin
         Text_IO.Put_Line ("Got it!");
      end Back;
   end A;
   
   protected body B is
      entry Wall when True is
      begin
         Text_IO.Put_Line ("Wall!");
         requeue A.Back;
      end Wall;
   end B;

end Ping_Pong;

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-06-20  7:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-19 13:17 Requeue in GNAT 3.14p (Linux) Dmitry A. Kazakov
2002-06-19 14:22 ` Pascal Obry
2002-06-19 19:20   ` Robert A Duff
2002-06-20  7:11   ` Dmitry A.Kazakov
2002-06-19 14:45 ` Anatoly Chernyshev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox