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!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Advice, tasking and hardware Date: Fri, 27 May 2016 17:05:37 -0500 Organization: JSA Research & Innovation Message-ID: References: <25c43463-47ca-4021-82ee-299e6a075faa@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1464386738 1117 24.196.82.226 (27 May 2016 22:05:38 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 27 May 2016 22:05:38 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:30496 Date: 2016-05-27T17:05:37-05:00 List-Id: "Jeffrey R. Carter" wrote in message news:nia5lo$oik$1@dont-email.me... > On 05/27/2016 12:50 AM, Dmitry A. Kazakov wrote: > > [a lot of irrelevant stuff] > > No response to this post is needed, since it had nothing to do with the > specific > point I made and to which he was apparently responding. However, there is > a > false statement that should be corrected. > >> 3. Ada tasks have problems with termination. The termination alternative >> design >> makes is unusable in most cases. There must be Shut_Down entry instead >> and a >> caller of it as well. > > I have personally written hundreds of tasks that cannot use a terminate > alternative and do not have an entry to cause them to terminate, yet which > terminate normally when they should. Anyone who can't see multiple ways to > achieve this using only tasks and protected objects should not be > considered > competent to develop concurrent software. Huh. Most people *aren't* competent to develop concurrent software -- it's way too hard and (unlike sequential code) the compiler and language is no help. (Race conditions and deadlocks are trivial in Ada code; very little practical code doesn't have them.). But most of us have to develop such software anyway, whether or not we're competent. So I don't find that much of an argument for any point vis-a-vis concurrency. [Especially as I've never figured out how to properly shut down the tasks in any of my service programs. Maybe I could have figured out something, but it would have greatly complicated an already complicated system. Instead, I kill the process manually in the rare case that I need to restart a service (and I also have a watchdog program that kills and restarts non-responsive services, and triggers a full system reboot if that doesn't work - that probably would be needed in any case, just to keep services up as much as possible {in case of DoS bugs}). A club rather than a screwdriver, but a lot easier.] Randy.