comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Private or public task ?
Date: Tue, 09 Feb 2010 18:51:23 -0500
Date: 2010-02-09T18:51:23-05:00	[thread overview]
Message-ID: <wccy6j2vuh0.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: b108d326-8be1-4e98-a5dc-e1296cdc083a@b7g2000yqd.googlegroups.com

"mkasun@gmail.com" <mkasun@gmail.com> writes:

> Why do people insist that Ada.Text_IO.Put routines are potentially
> blocking.

Because they're talking about the ones that operate on files,
which are the commonly-used ones.  If you say:

    Ada.Text_IO.Put_Line("Hello, world.");

in a protected procedure, that's wrong.  GNAT will often let you
get away with it, but it's still wrong, because Put_Line is
potentially blocking.

Yes, as you quote below, the Get/Put that do parsing/formatting
on strings are not blocking, as you would expect.  But these
are rarely used, so people forget about them.

> From the ARM
>
> Discussion: {AI95-00178-01} Any subprogram in a language-defined input-
> output package that has a file parameter or result or operates on a
> default file is considered to manipulate a file. An instance of a
> language-defined input-output generic package provides subprograms
> that are covered by this rule. The only subprograms in language-
> defined input-output packages not covered by this rule (and thus not
> potentially blocking) are the Get and Put routines that take string
> parameters defined in the packages nested in Text_IO.

- Bob



  reply	other threads:[~2010-02-09 23:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-05 20:54 Private or public task ? Hibou57 (Yannick Duchêne)
2010-02-05 20:56 ` Hibou57 (Yannick Duchêne)
2010-02-05 21:38 ` Jeffrey R. Carter
2010-02-05 21:53   ` Hibou57 (Yannick Duchêne)
2010-02-08  9:55     ` Alex R. Mosteo
2010-02-08 10:02     ` Jean-Pierre Rosen
2010-02-08 17:28     ` Maciej Sobczak
2010-02-09  8:43       ` Dmitry A. Kazakov
2010-02-09 12:07       ` Hibou57 (Yannick Duchêne)
2010-02-09 14:26         ` Jean-Pierre Rosen
2010-02-09 18:17           ` Hibou57 (Yannick Duchêne)
2010-02-10  8:17           ` Maciej Sobczak
2010-02-10  8:29             ` Hibou57 (Yannick Duchêne)
2010-02-10  8:40               ` Martin
2010-02-10 11:44                 ` Jean-Pierre Rosen
2010-02-10 12:51                   ` Martin
2010-02-10 16:17                 ` Robert A Duff
2010-02-10 11:38             ` Jean-Pierre Rosen
2010-02-13 11:09           ` Dmitry A. Kazakov
2010-02-09 15:20         ` Robert A Duff
2010-02-09 18:26           ` Hibou57 (Yannick Duchêne)
2010-02-09 14:44       ` Alex R. Mosteo
2010-02-09 23:38   ` mkasun
2010-02-09 23:51     ` Robert A Duff [this message]
2010-02-10  0:01     ` Jeffrey R. Carter
2010-02-05 21:40 ` Dmitry A. Kazakov
2010-02-05 22:09   ` Hibou57 (Yannick Duchêne)
2010-02-05 22:57     ` sjw
2010-02-06  2:20   ` Hibou57 (Yannick Duchêne)
2010-02-06  2:23     ` Hibou57 (Yannick Duchêne)
2010-02-06  3:29     ` Jeffrey R. Carter
replies disabled

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