From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: How to terminate all running tasks? Date: Wed, 10 Jun 2020 16:45:30 +0200 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: <7c14755d-f5f0-4000-bde1-d34423cf43abo@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 10 Jun 2020 14:45:30 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="7a33455be33a5fbb0432aded25c56caa"; logging-data="16251"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18BjQIjgP7edzp/Xf/K1CVy3gfELsEe/6o=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 Cancel-Lock: sha1:eu1AQ1kmoNca0pwi6h9P8vAsgmk= In-Reply-To: Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:59035 Date: 2020-06-10T16:45:30+02:00 List-Id: On 6/10/20 3:49 PM, Jeffrey R. Carter wrote: > On 6/10/20 1:14 PM, Gilbert Gosseyn wrote: >> package packp6 is >>    procedure tp6pm(N : Long_Integer); >> end packp6; >> >> with Ada.Text_IO; use Ada.Text_IO; >> package body packp6 is >>    procedure tp6pm(N : Long_Integer) is >>       package LIO is new Integer_IO(Long_Integer); > >         Solution_Found : Boolean := False; >         pragma Atomic (Solution_Found); >> >>       task p6p; >> >>       task body p6p is >>          pp,i : Long_Integer := 0; >>       begin >>          loop >               exit when Solution_Found; > >>             i := i+1; >>             pp := 6*i+1; >>             if N mod pp = 0 then >>                new_line;put("pp= ");LIO.put(pp); >                  Solution_Found := True; >>             end if; >>          end loop; >>       end p6p; Sorry, of course the variables previously in P6m have to be declared here: pm,i : Long_Integer := 0; >>    begin >>       loop >            exit when Solution_Found; > >>          i := i+1; >>          pm := 6*i-1; >>          if N mod pm = 0 then >>             new_line;put("pm= ");LIO.put(pm); >               Solution_Found := True; >>          end if; >>        end loop; >>    end tp6pm; >> end packp6; -- Jeff Carter "Unix and C are the ultimate computer viruses." Richard Gabriel 99