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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,3e11ef4efc073f6b X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: requeue with abort and timed call Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <2a60b044-6a5c-4ce6-93e6-6eeefc8806c3@l33g2000pri.googlegroups.com> <1f6rcb1qwt7vx.1mckzyk9ucohf.dlg@40tude.net> <84c56781-1cb1-4d86-be14-e66fc9fdade6@w1g2000prk.googlegroups.com> <7p8onuvzdz18$.1m1dq8n3b52q5.dlg@40tude.net> <9j9ajg.3a7.ln@hunter.axlog.fr> <2a0a1de3-6736-4478-9378-50b8895fa20d@r15g2000prh.googlegroups.com> <133a14c1-efc1-4a27-bc66-cff24a75ef93@z28g2000prd.googlegroups.com> <4uQ7l.509148$yE1.49118@attbi_s21> <86e1e26c-108e-4f8e-9dc8-0eeaadce84d3@r15g2000prh.googlegroups.com> Date: Mon, 5 Jan 2009 10:12:26 +0100 Message-ID: <1ilxzomo4ehvx.1fimqucpujx5f$.dlg@40tude.net> NNTP-Posting-Date: 05 Jan 2009 10:12:29 CET NNTP-Posting-Host: eaec7e3b.newsspool2.arcor-online.net X-Trace: DXC=kmX`Vaic]6H[kmHKHnaEnMA9EHlD;3YcB4Fo<]lROoRA^YC2XCjHcbIcCT[@l6BPjJTgl[GgfE X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:4173 Date: 2009-01-05T10:12:29+01:00 List-Id: On Sun, 4 Jan 2009 15:17:39 -0800 (PST), belteshazzar wrote: > it was my understanding that pragma atomic does nothing for tasks, it > just tells the compiler to ensure that the architecture implements > atomic memory access. and ensures that reads and updates are sequential, which in turn allows sharing an atomic object by concurrent tasks, provided they only do assigning and reading values. Without the pragma concurrent reading and updating is erroneous RM 9.10 (11). [Granted, it is difficult to imagine a situation when things might go wrong with a Boolean object.] > also if pragma atomic is used this implies volatile. Right, I was unsure about it, because logically one could have atomic non-volatile, but I was too lazy to check. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de