comp.lang.ada
 help / color / mirror / Atom feed
From: "Jean-Pierre Rosen" <rosen@adalog.fr>
Subject: Re: protected objects and external call
Date: Fri, 23 Jan 2004 16:50:30 +0100
Date: 2004-01-23T16:50:30+01:00	[thread overview]
Message-ID: <2tfrub.25v.ln@skymaster> (raw)
In-Reply-To: wcc3ca6hg37.fsf@shell01.TheWorld.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1126 bytes --]


"Robert A Duff" <bobduff@shell01.TheWorld.com> 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





  reply	other threads:[~2004-01-23 15:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-22 16:51 protected objects and external call Evangelista Sami
2004-01-22 18:28 ` Robert A Duff
2004-01-23  8:59 ` Jean-Pierre Rosen
2004-01-23 14:53   ` Robert A Duff
2004-01-23 15:50     ` Jean-Pierre Rosen [this message]
2004-01-23 17:19       ` Robert A Duff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox