comp.lang.ada
 help / color / mirror / Atom feed
From: "Martin Dowie" <martin.dowie@baesystems.com>
Subject: Re: Protected type defined in the procedure
Date: Wed, 28 Sep 2005 10:18:16 +0100
Date: 2005-09-28T09:19:16+00:00	[thread overview]
Message-ID: <433a5deb_1@glkas0286.greenlnk.net> (raw)
In-Reply-To: dhdj5p$o6r$1@sunnews.cern.ch

Yes, you can, e.g.:

with Ada.Text_IO; use Ada.Text_IO;

procedure Test_Prot_Task_Comms is
   protected type A_Resource is
      entry Seize;
      procedure Release;
   private
      Busy : Boolean := False;
   end A_Resource;
   protected body A_Resource is
      entry Seize when not Busy is
      begin
         Busy := True;
      end Seize;
      procedure Release is
      begin
         Busy := False;
      end Release;
   end A_Resource;
   This_Resource : A_Resource;
   task Foo;
   task body Foo is
   begin
      loop
         This_Resource.Seize;
         Put_Line ("Task");
         This_Resource.Release;
         delay 1.0;
      end loop;
   end Foo;
begin
   delay 1.0;
   loop
      This_Resource.Seize;
      Put_Line ("Main");
      This_Resource.Release;
      delay 3.0;
   end loop;
end Test_Prot_Task_Comms;





  parent reply	other threads:[~2005-09-28  9:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-28  8:10 Protected type defined in the procedure Maciej Sobczak
2005-09-28  8:53 ` Egil H. H�vik
2005-09-28  9:18 ` Martin Dowie [this message]
2005-09-28  9:35 ` Maciej Sobczak
replies disabled

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