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



只是好奇。哪些系统同时提供EAGAIN和eblock #define作为不同的值?

有一些…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 too: 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

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

是的,有几个系统。

在GNU C库中它们总是有相同的值

最新更新