From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e27871fabb6a1f9f X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-09 10:30:04 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news.kjsl.com!newsfeed.mathworks.com!news.mathworks.com!uunet!ash.uu.net!world!bobduff From: Robert A Duff Subject: Re: Concurrency & I/O Sender: bobduff@world.std.com (Robert A Duff) Message-ID: Date: Mon, 9 Jul 2001 17:28:22 GMT References: Organization: The World Public Access UNIX, Brookline, MA X-Newsreader: Gnus v5.3/Emacs 19.34 Xref: archiver1.google.com comp.lang.ada:9685 Date: 2001-07-09T17:28:22+00:00 List-Id: "Ed Colbert" 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