[PXEXT] Change the PXE return code for EWOULDBLOCK
authorH. Peter Anvin <hpa@zytor.com>
Wed, 26 Mar 2008 22:12:19 +0000 (15:12 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 26 Mar 2008 22:12:19 +0000 (15:12 -0700)
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.)

src/include/errno.h

index 03d1ebd..d23b93e 100644 (file)
@@ -448,8 +448,8 @@ extern char missing_errfile_declaration[] __attribute__ (( deprecated ));
 /** Text file busy */
 #define ETXTBSY                        ( ERRFILE | PXENV_STATUS_FAILURE | 0x4d000000 )
 
 /** 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 )
 
 /** Improper link */
 #define EXDEV                  ( ERRFILE | PXENV_STATUS_FAILURE | 0x4f000000 )