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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,87627bdc747a0287 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!m79g2000cwm.googlegroups.com!not-for-mail From: "jimmaureenrogers@worldnet.att.net" Newsgroups: comp.lang.ada Subject: Re: Martian Rover Spirit's mulitasking software reset. Date: 6 Sep 2006 05:52:08 -0700 Organization: http://groups.google.com Message-ID: <1157547128.205328.146920@m79g2000cwm.googlegroups.com> References: <12fsfpic0ccq16b@corp.supernews.com> <9YadnSb_QKCM-GPZRVnytQ@bt.com> NNTP-Posting-Host: 69.170.65.169 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1157547132 27763 127.0.0.1 (6 Sep 2006 12:52:12 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 6 Sep 2006 12:52:12 +0000 (UTC) User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: m79g2000cwm.googlegroups.com; posting-host=69.170.65.169; posting-account=SqOfxAwAAAAkL81YAPGH1JdBwpUXw9ZG Xref: g2news2.google.com comp.lang.ada:6469 Date: 2006-09-06T05:52:08-07:00 List-Id: Martin Dowie wrote: > My understanding is that there was a "priority inverstion", so had they > used "pragma Locking_Policy (Ceiling_Locking);" (RM D.3 Priority > Ceiling Locking) then the problem could have been avioded. > > Of course, they might not have used it even if they were using Ada. :-) > Cheers Problems such as priority inversions, deadlocks, livelocks, and race conditions are far too common when writing Pthreads. While Pthreads provides tools which, when used in the proper combination, allow the programmer to avoid such problems, the programmer is expected to know all the necessary combinations. This follows the C programming philosophy. Assume that the programmer is an expert and makes no mistakes. Another possible contributor to the problem when using C is that concurrency issues are not common considerations for C programmers. C provides no syntax or for concurrency. C programmers are not as familiar with the design of concurrent systems as are Ada programmers. None of these reasons ensures that Ada programmers could not have produced an equivalent mess. They do provide a higher likelihood of producing a successful program. Jim Rogers