comp.lang.ada
 help / color / mirror / Atom feed
From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: embed accept statement in procedures not possible?
Date: Fri, 04 May 2007 18:58:29 +0200
Date: 2007-05-04T18:58:29+02:00	[thread overview]
Message-ID: <snof1f.atk.ln@hunter.axlog.fr> (raw)
In-Reply-To: <1178291081.936739.131740@c35g2000hsg.googlegroups.com>

Gerd a �crit :
> My code (schematic only):
> 
> task t is
>   entry e;
> end t;
> 
> task body t is
>   procedure p is
>   begin
>     accept e;
>   end p;
> begin
>   p;
> end t;
> 
> GNAT tells me: "enclosing body for accept must be a task". But - the
> accept in procedure p _is_ in a task. So why is this not allowed?
> 
True. An accept statement must be *immediately* within a task body, not 
in anything enclosed in the task body.

That rule is necessary to ensure that a task can accept only its own 
entries. Your example is of course very simple, but consider that a task 
can be included in another task. What if Inner_Task called your P procedure?
-- 
---------------------------------------------------------
            J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr



  reply	other threads:[~2007-05-04 16:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-04 15:04 embed accept statement in procedures not possible? Gerd
2007-05-04 16:58 ` Jean-Pierre Rosen [this message]
2007-05-04 19:45   ` Adam Beneschan
2007-05-09  7:12     ` Jean-Pierre Rosen
2007-05-09 14:56       ` Adam Beneschan
2007-05-10 11:43         ` Jean-Pierre Rosen
2007-05-10 17:26           ` Pascal Obry
2007-05-04 17:03 ` (see below)
2007-05-04 21:22   ` adaworks
2007-05-05 23:54 ` Stephen Leake
replies disabled

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