comp.lang.ada
 help / color / mirror / Atom feed
From: "Jean-Pierre Rosen" <rosen.adalog@wanadoo.fr>
Subject: Re: Streams and Concurrency
Date: 1999/01/04
Date: 1999-01-04T00:00:00+00:00	[thread overview]
Message-ID: <76qb23$ba3$1@platane.wanadoo.fr> (raw)
In-Reply-To: 76g9ds$ura$1@nnrp1.dejanews.com

dewar@gnat.com a �crit dans le message
<76g9ds$ura$1@nnrp1.dejanews.com>...
>In article <76fe92$46c$1@platane.wanadoo.fr>,
>  "Jean-Pierre Rosen" <rosen.adalog@wanadoo.fr> wrote:
>> Unfortunately, all IO operations are potentially
>> blocking, and therefore not allowed from within a
>> protected operation.
>> To get the effect of mutual exclusion for procedures
>> requiring potentially blocking operations, have a look at
>> package Protection available from Adalog's components
>> page (http://perso.wanadoo.fr/adalog/compo2.htm)
>
>By the way, JPR here seems to be making the mistake of
>assuming that stream = stream_io, a common confusion. The
>original question here related to a particular
>implementation of streams that you have not seen, and you
>do not know if it does any potentially blocking operations.
>
Of course not, but that particular exemple used Text_Streams and I
took this opportunity to remind people of this often overlooked
problem.
Why, if it works on most compilers ? Because I hate concealed design
decisions. Choosing between portability and efficiency (or in this
case, ease of programming) is a trade-off, and it is perfectly
acceptable to disregard portability as long as it is a concious design
decision. But as you noticed, often people make this choice without
being aware of it, and *this* is (IMHO) very bad.
---------------------------------------------------------
           J-P. Rosen (Rosen.Adalog@wanadoo.fr)
Visit Adalog's web site at http://perso.wanadoo.fr/adalog






  parent reply	other threads:[~1999-01-04  0:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-12-30  0:00 Streams and Concurrency James S. Rogers
1998-12-29  0:00 ` David Botton
1998-12-30  0:00   ` dennison
1998-12-30  0:00     ` Tucker Taft
1998-12-30  0:00       ` dennison
1998-12-31  0:00         ` robert_dewar
1998-12-30  0:00       ` Robert I. Eachus
1998-12-30  0:00         ` Tucker Taft
1998-12-31  0:00         ` dennison
1998-12-31  0:00           ` robert_dewar
1998-12-31  0:00             ` dennison
1999-01-01  0:00               ` robert_dewar
1999-01-04  0:00           ` Robert I. Eachus
1998-12-30  0:00   ` James S. Rogers
1998-12-30  0:00     ` dennison
1998-12-30  0:00       ` James S. Rogers
1999-01-04  0:00       ` Robert I. Eachus
1998-12-31  0:00     ` Jean-Pierre Rosen
1998-12-31  0:00       ` dewar
1998-12-31  0:00         ` dennison
1999-01-04  0:00         ` Jean-Pierre Rosen [this message]
1999-01-04  0:00           ` robert_dewar
1998-12-31  0:00       ` dewar
1998-12-31  0:00         ` Ada-G, was " Tom Moran
1999-01-01  0:00           ` dewar
1999-01-01  0:00             ` Larry Kilgallen
1999-01-01  0:00           ` Brian Rogoff
1999-01-04  0:00             ` Robert I. Eachus
1999-01-08  0:00               ` Mats Weber
1999-01-08  0:00                 ` Robert I. Eachus
1999-01-08  0:00         ` Mats Weber
1999-01-08  0:00           ` Tucker Taft
1998-12-30  0:00 ` dennison
1998-12-30  0:00   ` Robert I. Eachus
1999-01-11  0:00   ` Bulk synchronous model for IO (was Re: Streams and Concurrency) Kevin Rigotti
replies disabled

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