comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org>
Subject: Re: protected type interrupts
Date: Thu, 24 Aug 2006 23:55:39 GMT
Date: 2006-08-24T23:55:39+00:00	[thread overview]
Message-ID: <%%qHg.107121$FQ1.41394@attbi_s71> (raw)
In-Reply-To: <1156446985.794916.61470@74g2000cwt.googlegroups.com>

REH wrote:
> 
> 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?  

In the terms of the ARM, mutual exclusion is not considered potentially 
blocking. Only waiting for data synchronization is potentially blocking. 
Since protected actions are supposed to be short and quick, and cannot 
perform potentially blocking operations, mutual exclusion cannot delay a 
task for very long. On the other hand, waiting for an entry barrier to 
become true can take forever.

Many external actions, such as I/O, are also considered potentially 
blocking.

-- 
Jeff Carter
"Now go away or I shall taunt you a second time."
Monty Python & the Holy Grail
07



  parent reply	other threads:[~2006-08-24 23:55 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
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 [this message]
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