strerror perror unix posix errno

unix - perror - stderr>( errno



¿Qué sistemas definen EAGAIN y EWOULDBLOCK como valores diferentes? (2)

Sólo curioso. ¿Qué sistemas que proporcionan tanto EAGAIN como EWOULDBLOCK #define definen como valores diferentes?


Hubo algunos ... http://www.gnu.org/s/hello/manual/libc/Error-Codes.html

Nota de portabilidad: En muchos sistemas Unix antiguos, esta condición fue indicada por EWOULDBLOCK, que era un código de error distinto de EAGAIN. Para hacer que su programa sea portátil, debe verificar ambos códigos y tratarlos de la misma manera.

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

En algunos sistemas SysV EAGAIN! = EWOULDBLOCK. Creo que heredamos las definiciones errno de HPUX ...

AIX más antiguo también es un sistema de este tipo: http://programming.itags.org/unix-linux-programming/81597/

HP-UX (y versiones anteriores de AIX)

Para AIX he encontrado la lista de códigos: http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/tutorial/error.html

11 EAGAIN; 54 EWOULDBLOCK

OS / 390 también: http://web.archiveorange.com/archive/v/zvbaIz8u6TzsQHHjfzOi

OS / 390 y otras plataformas donde EWOULDBLOCK! = EAGAIN

Hay una tabla más completa: 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

Entonces, AIX 4.3,5.1; HP-UX 11.22 y OSF1 usan códigos diferentes para EAGAIN y EWOULDBLOCK


Sí, hay un par de sistemas.

En la biblioteca GNU C siempre tienen el mismo valor.