comp.lang.ada
 help / color / mirror / Atom feed
From: tmoran@acm.org
Subject: Re: Combining entry_call, accept_statment and terminate_statment
Date: Tue, 30 Mar 2004 08:11:42 GMT
Date: 2004-03-30T08:11:42+00:00	[thread overview]
Message-ID: <2Z9ac.34562$JO3.30234@attbi_s04> (raw)
In-Reply-To: slrnc6i8dt.o5.lutz@taranis.iks-jena.de

> task body TT is
> begin
>    loop
>       select
>          p.X;
>          -- dealing with new data
>       or accept Config;
>          -- modify the task
>       or terminate;
>       end select;
>    end loop;
> end TT;
   It seems to me there are three kinds of inputs TT has to deal with:
regular data, please-reconfig, and please-terminate.  From that point of
view, TT could just deal with one supplier of input, rather than the three
different suppliers in the current code:
  task body TT is
  begin
     loop
       p.X(What_To_Do, Possible_Data);
       case What_To_Do is
         when Regular_Data => ... -- dealing with new data
         when Reconfigure  => ... -- modify the task
         when Please_Terminate => exit;
       end case;
     end loop;
  end TT;

The protected object p then has to convey more heterogeneous information,
and may need to use Task_IDs if it needs to deliver different info to
different callers, but it will be a queueing, rather than polling, solution.



  reply	other threads:[~2004-03-30  8:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-29 19:41 Combining entry_call, accept_statment and terminate_statment Lutz Donnerhacke
2004-03-29 22:04 ` Randy Brukardt
2004-03-29 23:19   ` Mark Lorenzen
2004-03-29 23:14     ` Robert I. Eachus
2004-03-30  7:26   ` Lutz Donnerhacke
2004-03-30 20:04     ` Randy Brukardt
2004-03-30 22:47       ` Lutz Donnerhacke
2004-03-31  9:03         ` Dmitry A. Kazakov
2004-03-31  9:14           ` Lutz Donnerhacke
2004-03-31 12:22             ` Dmitry A. Kazakov
2004-03-31  6:39       ` Jean-Pierre Rosen
2004-03-30  7:29   ` Lutz Donnerhacke
2004-03-30  8:11     ` tmoran [this message]
2004-03-30 11:45     ` Lutz Donnerhacke
2004-03-30  0:33 ` James Rogers
replies disabled

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