Change the PXE return code for EWOULDBLOCK from PXENV_STATUS_FAILURE
to PXENV_STATUS_TFTP_OPEN. This code is only used by the FILE_READ
PXEXT call, and is necessary to distinguish "error" from "no data" in
that call.
(The only other nonblocking call is UDP_READ, where the caller doesn't
care about the distinction, however, gPXE doesn't use EWOULDBLOCK
internally to represent this condition in that code.)
/** Text file busy */
#define ETXTBSY ( ERRFILE | PXENV_STATUS_FAILURE | 0x4d000000 )
-/** Operation would block */
-#define EWOULDBLOCK ( ERRFILE | PXENV_STATUS_FAILURE | 0x4e000000 )
+/** Operation would block (different from EAGAIN!) */
+#define EWOULDBLOCK ( ERRFILE | PXENV_STATUS_TFTP_OPEN | 0x4e000000 )
/** Improper link */
#define EXDEV ( ERRFILE | PXENV_STATUS_FAILURE | 0x4f000000 )