From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_40 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 6 Aug 91 17:23:59 GMT From: emery@mitre-bedford.arpa (David Emery) Subject: Re: Ada and Unix--Blocked Tasks Message-ID: List-Id: In order for non-blocking I/O to work on Unix, several different 'actors' have to cooperate. First you need a Unix that supports non-blocking I/O as a concept. Usually this works by having a system call that `queues' the operation, and a signal that tells the application when the I/O is done. Next you need a device driver that also plays this game. Not all device drivers support non-blocking I/O, even if the operating system provides the facility. Finally, you need the Ada runtime to play along, by handling the signal correctly. For this reason, it is almost impossible for a compiler vendor to guarantee non-blocking I/O in all cases. In particular, the compiler vendor cannot guarantee that the user`s devices and device drivers 'play along'. So take any vendor claims that they support non-blocking I/O on Unix platforms (without specifying additional requirements on the device drivers, etc.) with a grain of salt. It's possible, and it will probably work on "reasonable systems with reasonable devices", but it's not guaranteed, especially in the face of third-party I/O devices. dave