We were talking about the 90% of cases where "terminate" doesn't work, of course. Not the rare cases where it does. (I've never had one in the tasks I've written.) Randy. "J-P. Rosen" wrote in message news:pbua2d$1rt8$1@gioia.aioe.org... > Le 27/04/2018 à 00:10, Randy Brukardt a écrit : >> So if you declare a task in a block there is no practical way to >> terminate >> it -- ergo, don't do that. :-) >> > Huh? Consider > > declare > task Server is > entry Service; > end Server; > > task body Server is > begin > loop > select > accept Service do ... end Service; > or terminate; > end select; > end loop; > end Server; > begin > ... > Server.Service; > ... > Server.Service; > end; > > The task will terminate nicely when the block is completed. That's what > terminate is for! > > -- > J-P. Rosen > Adalog > 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX > Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00 > http://www.adalog.fr