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.