comp.lang.ada
 help / color / mirror / Atom feed
From: "REH" <spamjunk@stny.rr.com>
Subject: Re: protected type interrupts
Date: 24 Aug 2006 12:16:25 -0700
Date: 2006-08-24T12:16:25-07:00	[thread overview]
Message-ID: <1156446985.794916.61470@74g2000cwt.googlegroups.com> (raw)
In-Reply-To: <1156443355.219906.237190@h48g2000cwc.googlegroups.com>


Adam Beneschan wrote:
> REH wrote:
>
> > Thanks for the reference.  Is your work-around valid?  Isn't calling
> > Relay_Object.Isr a potentially blocking operation, and thus a bad thing
> > to do in an interrupt?
>
> I don't think it's potentially blocking... Relay_Object.Isr is a
> procedure, and as I read 9.5.1, a call to a protected *procedure* is
> not a potentially blocking operation unless it's done from the same
> protected object.  A call on a protected *entry* would be potentially
> blocking.  [This is from the Ada 95 manual.  If this has changed in Ada
> 0Y, I can't tell because www.adaic.com isn't responding.]
>

I don't understand.  How can a procedure within a protected object
modify data internal to the object in a thread-safe way without the
potentially blocking effect of enforcing mutual exclusion?  If one task
is "using" the object, and another calls one of the object's
procedures, would the second task not be blocked until the first one
exits the object?  

REH




  reply	other threads:[~2006-08-24 19:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24 14:47 protected type interrupts REH
2006-08-24 15:39 ` Jean-Pierre Rosen
2006-08-24 16:23   ` REH
2006-08-24 18:15     ` Adam Beneschan
2006-08-24 19:16       ` REH [this message]
2006-08-24 21:16         ` Adam Beneschan
2006-08-24 21:39           ` REH
2006-08-25  6:45           ` Jean-Pierre Rosen
2006-08-24 23:55         ` Jeffrey R. Carter
2006-08-25  6:42         ` Jean-Pierre Rosen
2006-08-24 23:47     ` Jeffrey R. Carter
2006-08-25  6:38     ` Jean-Pierre Rosen
2006-08-24 20:11 ` Simon Wright
2006-08-24 23:50 ` Jeffrey R. Carter
2006-08-25  6:48   ` Jean-Pierre Rosen
2006-08-25 11:33     ` REH
2006-08-25 17:27       ` Jean-Pierre Rosen
2006-08-25 20:57     ` Jeffrey R. Carter
2006-08-25 23:17       ` REH
2006-08-26  6:38         ` Jeffrey R. Carter
2006-08-26 13:16           ` REH
replies disabled

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