comp.lang.ada
 help / color / mirror / Atom feed
* Concurrency & I/O
@ 2001-06-25 16:57 Ed Colbert
  2001-07-09 17:28 ` Robert A Duff
  0 siblings, 1 reply; 2+ messages in thread
From: Ed Colbert @ 2001-06-25 16:57 UTC (permalink / raw)


Hi All,

Can someone confirm that it's still implementation defined whether I/O
operations (Put, Get, 'Write, 'Read) are atomic, blocking, or subject to
Priority_Ceiling.  In quick review of the manual & rational, I found the
following:

1) File_Type's and Root_Stream_Type are not publically defined using pragma
Atomic.
2) Get_Immediate is non-blocking according Rationale section A.1.
3) A.10.7(24) Says Get_Immediate doesn't wait for end of line.
4) Annex H provides NO_IO pragma to disallow use of standard IO packages
(and Ravenscare requires this pragma).
5) Annex D doesn't mention I/O.

I don't see a specific statement about the semanics of I/O operations in a
concurrent environment.

Take Care,
Ed





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Concurrency & I/O
  2001-06-25 16:57 Concurrency & I/O Ed Colbert
@ 2001-07-09 17:28 ` Robert A Duff
  0 siblings, 0 replies; 2+ messages in thread
From: Robert A Duff @ 2001-07-09 17:28 UTC (permalink / raw)


"Ed Colbert" <colbert@abssw.com> writes:

> Can someone confirm that it's still implementation defined whether I/O
> operations (Put, Get, 'Write, 'Read) are atomic, blocking, or subject to
> Priority_Ceiling.  In quick review of the manual & rational, I found the
> following:

I don't fully understand the question.
I/O operations are "potentially blocking".
I/O operations that can't be done immediately may block the whole
process, or just the current task (this is implementation dependent).

'Write and 'Read are not I/O operations -- they just call the underlying
stream operations, and the underlying stream might or might not do I/O,
and might or might not block.

None of these things are atomic.  If you have two tasks simultaneously
writing to standard output, that's erroneous (although you might
get away with it, with interspersed output).

- Bob



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-07-09 17:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-25 16:57 Concurrency & I/O Ed Colbert
2001-07-09 17:28 ` Robert A Duff

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