comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@acm.org>
To: comp.lang.ada@ada-france.org
Subject: Re: Finalization of a record containing a task
Date: 16 Feb 2005 15:49:08 -0500
Date: 2005-02-16T15:49:08-05:00	[thread overview]
Message-ID: <mailman.146.1108586972.527.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <d56673df.0502161235.c69cc50@posting.google.com>

ssh9614@hotmail.com (Bj?rn) writes:

> I'm trying to implement a form of self modifying ADT, containing an
> active task.
> 
> I would prefer that the user of the ADT not need to do any "extra"
> operations on the ADT when the user is finished with it, rather have
> the task terminate automatically when the type goes out of scope.
> 
> I do not see how I can manage this since the ADT does not seem to
> finalize as long as the tasks have not terminated.

you need to have a 'select' statement, with an open 'terminate'
alternative.

> package body PKG is
>    task T_Worker is
>       {Inner task of T_Worker}
>    begin
>       loop
>          select
>             accept Start;
>          or
>             accept Stop;
>          or
>             ...
>          or
>             delay until Some_Time;

           or terminate;

>          end select;
>       end loop;
> end PKG;

-- 
-- Stephe




  reply	other threads:[~2005-02-16 20:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-16 20:35 Finalization of a record containing a task Bj?rn
2005-02-16 20:49 ` Stephen Leake [this message]
2005-02-16 21:20   ` Adrien Plisson
2005-02-16 22:09     ` Robert A Duff
2005-02-17  8:24       ` Adrien Plisson
2005-02-18  0:17         ` Robert A Duff
2005-02-17  9:13     ` Dmitry A. Kazakov
2005-02-18  0:13       ` Robert A Duff
2005-02-18  2:34         ` Randy Brukardt
2005-02-18 11:27         ` Dmitry A. Kazakov
2005-02-16 22:08   ` Robert A Duff
2005-02-21 13:20     ` Craig Carey
2005-02-21 21:41       ` Robert A Duff
2005-02-22  0:15         ` Randy Brukardt
2005-02-17 17:50   ` Bj?rn
replies disabled

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