comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Requeue in GNAT 3.14p (Linux)
Date: Wed, 19 Jun 2002 15:17:45 +0200
Date: 2002-06-19T15:17:45+02:00	[thread overview]
Message-ID: <im01hu8h0m6u108jfu2rfapusepqvnh5v4@4ax.com> (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



             reply	other threads:[~2002-06-19 13:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-19 13:17 Dmitry A. Kazakov [this message]
2002-06-19 14:22 ` Requeue in GNAT 3.14p (Linux) 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
replies disabled

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