Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ut-sally.UUCP Path: utzoo!decvax!genrad!mit-eddie!think!harvard!seismo!ut-sally!jsq From: jsq@ut-sally.UUCP (John Quarterman) Newsgroups: mod.std.unix Subject: Non-blocking I/O and EWOULDBLOCK vs. EAGAIN Message-ID: <2424@ut-sally.UUCP> Date: Sun, 21-Jul-85 14:06:36 EDT Article-I.D.: ut-sally.2424 Posted: Sun Jul 21 14:06:36 1985 Date-Received: Mon, 22-Jul-85 15:13:31 EDT Reply-To: std-unix@ut-sally.UUCP Organization: U. Texas CS Dept., Austin, Texas Lines: 30 Approved: jsq@ut-sally.UUCP Discussions-Of: UNIX standards, particularly the IEEE P1003 draft standard. as essentially adopted 4.2BSD-style non-blocking I/O, rather than System V-style non-blocking I/O. The System V Interface Definition says that System V will be changed to match the /usr/group standard. However, 1) as the S5ID states, this may break existing code as it isn't compatible with existing System V implementations. and 2) it's not compatible with 4.2BSD, either, because they return EAGAIN if a non-blocking operation would have blocked had the descriptor been in non-blocking mode, rather than EWOULDBLOCK. Is there a good reason for constructing a new specification, incompatible with *all* existing systems, rather than adopting the existing 4.2BSD facility which provides the same functionality and merely uses a different error code? "The committee didn't want to add a new error code" is an extremely bad reason, as they have already added new error codes for the benefit of file locking. UNIX error codes are far too overloaded already; the problem should not be compounded. Guy Harris