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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,25ecb78615e0f778 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-23 08:03:17 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!nnx.oleane.net!oleane!nnrp.oleane.net!skymaster!nobody From: "Jean-Pierre Rosen" Newsgroups: comp.lang.ada Subject: Re: protected objects and external call Date: Fri, 23 Jan 2004 16:50:30 +0100 Organization: Adalog Message-ID: <2tfrub.25v.ln@skymaster> References: <5f59677c.0401220851.3c2922b0@posting.google.com> <72oqub.mka.ln@skymaster> NNTP-Posting-Host: mailhost.axlog.fr X-Trace: s1.read.news.oleane.net 1074873791 7950 195.25.228.57 (23 Jan 2004 16:03:11 GMT) X-Complaints-To: abuse@oleane.net NNTP-Posting-Date: Fri, 23 Jan 2004 16:03:11 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:4718 Date: 2004-01-23T16:50:30+01:00 List-Id: "Robert A Duff" a �crit dans le message de > > This is why it is considered a potentially blocking operation, and as > > such disallowed in a protected operation. > > No, I don't think that's quite right. Entry calls are potentially > blocking, and you're not supposed to call them from inside a protected > procedure. (Actually, it's a bounded error, and some compilers allow > it.) But a protected procedure can call another protected procedure > with an external call. It's up to the programmer to make sure it's not > the same protected object. (You also have to obey the priority > ceiling rules.) > > In other words, merely grabbing the lock of a PO is *not* considered > blocking or potentially blocking in Ada, and no queue-ing need be > involved. > 9.5.1(16): [Potentially blocking operations] an external call on a protected subprogram (or an external requeue) with the same target object as that of the protected action; -- --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr