
I believe that will cause problems because EAGAIN could have the same value as EWOULDBLOCK (for instance LINUX).
Can you come up with an actual use case where than would cause problems? (I'm not saying such a use case doesn't exist; merely that I can't think of one offhand.)
If the elements in the error enumeration of the proposal get the corresponding POSIX errno assigned than it EWOULDBLOCK and EAGAIN would cause troubles. On some systems (for instance FreeBSD) EWOULDBLOCK is returned from none-blocking 'accept' if the request would block. On HP/UX it could return EAGAIN.
posix errors are missing (I'm not sure). Please do an independent check. I have missed something. The POSIX folks suggested adding a couple of new errors POSIX is in
Maybe some process of
adding, by the way.
ENXIO
That one actually is present in the working paper.
OK - maybe I overlooked that.
ESTALE EMULTIHOP EDQUOT
Those three are reserved by POSIX, but are not given any definition and so were deliberately omitted. Do you have a counter-argument in favor of including them? If so, how should their enums be defined?
I found it on http://www.die.net/doc/linux/man/man3/errno.3.html.
EAI_ADDRFAMILY EAI_AGAIN EAI_BADFLAGS EAI_FAIL EAI_FAMILY EAI_MEMORY EAI_NODATA EAI_NONAME EAI_SERVICE EAI_SOCKTYPE EAI_SYSTEM
None of those are defined by http://www.opengroup.org/onlinepubs/009695399/basedefs/errno.h .html#tag_13_10 which I'm assuming is the gold standard for the POSIX errno.h errors that are the basis for the portable error codes. So even though the errors you mention above are defined elsewhere in the POSIX standard, they seem to me to be in a different error_category.
The getaddrinfo() function is defined in IEEE Std 1003.1g-2000 (``POSIX.1''), and documented in ``Basic Socket Interface Extensions for IPv6'' (RFC2553). Regards, Oliver