哪些系统将EAGAIN和EWOULDBLOCK定义为不同的值?

pil*_*row 27 unix posix errno

只是好奇.哪些系统提供EAGAIN和EWOULDBLOCK #define它们作为不同的值?

osg*_*sgx 26

有一些...... http://www.gnu.org/s/hello/manual/libc/Error-Codes.html

可移植性注意:在许多较旧的Unix系统中,这种情况由EWOULDBLOCK指示,这是一个与EAGAIN不同的明显错误代码.要使程序可移植,您应检查两个代码并对其进行相同处理.

http://lists.parisc-linux.org/hypermail/parisc-linux/9895.html

在一些SysV系统EAGAIN!= EWOULDBLOCK.我想我们继承了HPUX的errno定义......

旧的AIX也是这样的系统:http://programming.itags.org/unix-linux-programming/81597/

HP-UX(以及旧版本的AIX)

对于AIX,我找到了代码列表:http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/tutorial/error.html

11 EAGAIN; 54 EWOULDBLOCK

OS/390也是:http://web.archiveorange.com/archive/v/zvbaIz8u6TzsQHHjfzOi

OS/390和EWOULDBLOCK!= EAGAIN的其他平台

有更全面的表:http://www.ioplex.com/~miallen/errcmp.html

        SUSv3   AIX 4.3,5.1 HP-UX 11.22 Solaris 9,10    Linux 2.4.28,2.6.9  IRIX 6.5[4] OSF1    FreeBSD 5.2.1   OSX 10.3.8  MSVC6
EAGAIN  1   0   Resource unavailable, try again [3] 11  Resource temporarily unavailable    11  No more processes   11  Resource temporarily unavailable    11  Try again   11  Resource temporarily unavailable    11  ditto   35  Resource temporarily unavailable    35  Resource temporarily unavailable    11  Resource temporarily unavailable

EWOULDBLOCK 0.9 0   Operation would block [3]   54  Operation would block [2]   246 Operation would block   11      11  Operation would block   11  Resource temporarily unavailable    35  Operation would block   35  Operation would block   35  Operation would block
Run Code Online (Sandbox Code Playgroud)

那么,AIX 4.3,5.1; HP-UX 11.22和OSF1对EAGAIN和EWOULDBLOCK使用不同的代码

  • 看起来最新的EAGAIN!= EWOULDBLOCK OS版本大概是2002年.谢谢. (2认同)