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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,470860aa3e635a7 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!g4g2000hsf.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: GNAT for MS Visual Studio Date: Wed, 03 Oct 2007 12:23:59 -0700 Organization: http://groups.google.com Message-ID: <1191439439.120567.172630@g4g2000hsf.googlegroups.com> References: <13duou81kg3sd1c@corp.supernews.com> <13f3e0vbb05s47c@corp.supernews.com> <13f6eg0te46m2a3@corp.supernews.com> <4xsl4zw3bp.fsf@hod.lan.m-e-leypold.de> <1191357491.860178.230380@22g2000hsm.googlegroups.com> <4702ADCC.7080209@obry.net> NNTP-Posting-Host: 85.3.110.87 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: posting.google.com 1191439439 8873 127.0.0.1 (3 Oct 2007 19:23:59 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 3 Oct 2007 19:23:59 +0000 (UTC) In-Reply-To: <4702ADCC.7080209@obry.net> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: g4g2000hsf.googlegroups.com; posting-host=85.3.110.87; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 Xref: g2news2.google.com comp.lang.ada:2270 Date: 2007-10-03T12:23:59-07:00 List-Id: On 2 Pa , 22:45, Pascal Obry wrote: > > The fact that I cannot have > > concurrent tasks operating in read-only mode on the shared container > > is a fatal mistake. This is something even C++ can do, which > > ironically does not even officially support threads. > > ????? I must be missing your point as this is definitely possible with > Ada tasking. It is not:: http://www.adaic.org/standards/05aarm/html/AA-A-18.html 4.o/2: "Library packages must be reentrant - multiple tasks can use the packages as long as they operate on separate containers. Thus, it is only necessary for a user to protect a container if a single container needs to be used by multiple tasks." There is no distinction between "use" and "modification", even though one might try to deduce it from the fact that in some container operations the container itself is passed as "in" parameter. Without this distinction spelled out black on white the only thing the programmer can do is to protect the container systematically whenever he performs *any* operation on it. John Barnes writes about this in the relevant chapter of "Programming in Ada 2005" as well. -- Maciej Sobczak * www.msobczak.com * www.inspirel.com