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
next prev 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