Simplemente curioso. ¿Qué sistemas les proporcionan EAGAIN y EWOULDBLOCK #define
como valores diferentes?¿Qué sistemas definen EAGAIN y EWOULDBLOCK como valores diferentes?
Respuesta
hubo algunos ... http://www.gnu.org/s/hello/manual/libc/Error-Codes.html
Portabilidad Nota: En muchos sistemas Unix más antiguos, esta condición se indica mediante EWOULDBLOCK, que era un código de error distinto diferente 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 hemos heredado las definiciones errno de HPUX ...
antigua AIX es tal sistema también: http://programming.itags.org/unix-linux-programming/81597/
HPUX (y versiones anteriores de AIX)
Para AIX Encontré 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 tabla 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 utiliza códigos diferentes para EAGAIN y EWOULDBLOCK
Sí, hay un par de sistemas.
En la biblioteca GNU C siempre tienen el mismo valor.
¿Qué sistemas en particular? – pilcrow
linux/parisc, algunos HP-UX, algunos otros viejos equipos ... eso es lo que google muestra, no sé más. Simplemente use ambos, si son iguales, el compilador lo optimiza felizmente. –
- 1. ¿Qué significa EAGAIN?
- 2. #if 0 como definen
- 3. Idéntica construcción en diferentes sistemas
- 4. ¿Cómo se definen los sistemas LTI con retraso en Scipy?
- 5. Adobe AIR y diferentes sistemas de archivos del sistema operativo
- 6. por qué getBoundingClientRect da valores diferentes en IE y Firefox
- 7. ¿Por qué este código devuelve valores diferentes? (C# y VB.NET)
- 8. ¿Por qué hashlib y hmac generan diferentes valores hash?
- 9. ¿Por qué los creadores de sistemas Windows y Linux eligieron diferentes formas de soportar Unicode?
- 10. ¿Puede NSDictionary contener diferentes tipos de objetos como valores?
- 11. select(), recv() y EWOULDBLOCK en sockets sin bloqueo
- 12. IntPtr.ToInt32() y x64 sistemas
- 13. String.GetHashCode() devuelve valores diferentes
- 14. El socket de bloqueo devuelve EAGAIN
- 15. que definen los valores por defecto del makefile
- 16. R archivos de ayuda en diferentes sistemas operativos
- 17. Diferentes sistemas de control de versiones distribuidas trabajando juntos
- 18. ¿Qué sistemas integrados relacionados con blogs y otros recursos sigues?
- 19. donde se definen los valores válidos para @Scope en contextos web-conscientes y primavera portal?
- 20. ¿Por qué las llamadas C# son diferentes para métodos sobrecargados para diferentes valores del mismo tipo?
- 21. Qué sistemas está usando con git
- 22. Diferentes valores entre los sensores TYPE_ACCELEROMETER/TYPE_MAGNETIC_FIELD y TYPE_ORIENTATION
- 23. IE Document Mode tiene diferentes valores predeterminados en diferentes servidores
- 24. ¿Cuáles son los diferentes valores posibles para __name__ en un script de Python, y qué significan?
- 25. ¿Por qué ". *" Y ". +" Dan resultados diferentes?
- 26. ¿Buscar y reemplazar valores múltiples con valores múltiples/diferentes en PHP5?
- 27. Firefox y Chrome dan valores diferentes para offsetTop
- 28. ¿Por qué C++ definen en la norma como la norma euclídea al cuadrado
- 29. ¿Por qué los miembros del objeto de dominio (POCO) se definen como virtuales?
- 30. ¿por qué diferentes respuestas?
Parece el EAGAIN más reciente! = Las versiones de EWOULDBLOCK OS son aproximadamente 2002. Gracias. – pilcrow
Algunos códigos también deberían funcionar en versiones anteriores. Conozco algunos usuarios actuales de OS/2 (no ecomstation, pero el original Os/2, última versión lanzada en 2001). P.ej. biblioteca portátil arp; Firefox 3.5 también fue portado a OS/2, – osgx