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: a07f3367d7,385c146dd3112519 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!d27g2000yqn.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Private or public task ? Date: Mon, 8 Feb 2010 09:28:44 -0800 (PST) Organization: http://groups.google.com Message-ID: References: <38a0a3f9-b4a0-48f3-98c9-63b03fe03aca@q4g2000yqm.googlegroups.com> NNTP-Posting-Host: 83.76.149.15 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1265650124 5492 127.0.0.1 (8 Feb 2010 17:28:44 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 8 Feb 2010 17:28:44 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d27g2000yqn.googlegroups.com; posting-host=83.76.149.15; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:8990 Date: 2010-02-08T09:28:44-08:00 List-Id: On 5 Lut, 22:53, Hibou57 (Yannick Duch=EAne) wrote: > I did not ever suspected such a requirement. Transitive blocking is > not allowed ? As far as I understand, there is a careful wording around this subject so that formally speaking protected operations (except for entries) are not themselves "blocking". So, for example, you can call protected operations from other protected operations. The operations that are considered to be blocking in this context are delay statements, entry calls, select statements and... I/O operations. These cannot be called from protected operations. (I'm sure somebody will correct me if I'm off tracks) > So, if blocking operation are not allowed from a protected type, > clients of a given operation have to know it weither or not it's > potentially blocking, That would be nice, yes. But be careful, this approach might blow up the language. What about exception specifications? And so on. But: see RavenSPARK. The problem with blocking in particular is that there is no way to verify whether imported subprograms (from C libraries, for example) are blocking. You can import I/O operations from C libraries and there is no way to verify what they do. -- Maciej Sobczak * www.msobczak.com * www.inspirel.com Database Access Library for Ada: www.inspirel.com/soci-ada