TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Mark Lundquist <[log in to unmask]>
Fri, 21 Apr 2000 13:40:59 -0700
text/plain (45 lines)
From:  rreagan <[log in to unmask]>

> Friday, April 21, 2000 1:20 PM, Mark Lundquist [SMTP:[log in to unmask]] wrote
> > From:  "Beard, Frank" <[log in to unmask]>
> >
> > > So, I'm trying to figure out if I'm hitting some type of
> > > timing problem where one task is freeing an object's
> > > memory while another task is picking up memory for
> > > the same type of object.  In other words, does a
> > > protected function not block another task from calling
> > > a protected procedure.
> >
> > No, a protected function *does* exclude any "external calls" ([RM 9.5])
> > (procedure, function, or entry) on the P.O.  See [RM 9.5.1(3-6)].

Bleeaah...  Let me try that again. :-)

I mis-spoke (miswrote?)... I said "function" where I meant "procedure".

A protected procedure (or entry) excludes any other external call; a
protected function excludes protected features or entries, but not other
functions.  It's a reader-writer lock.  (The answer to the original
poster's question is still "no", viz. a protected function does exclude
protected procedures).

So, I typed the wrong word in the course of answering a question that was
not than the one that was asked.  I take full credit for any confusion :-)

> ...<snip>
> so multiple tasks may be in the same (or multiple) protected function(s) from
> the
> same P.O. at the same time, correct?

Yes.  Unless it's a palindrome... :-)


Mark Lundquist
Senior Software Engineer
Rational Software
Development Solutions Business Unit
Aloha, OR, USA