Formerly unix/bsd/vax/sysdep.S.~3~
authorRoland McGrath <roland@gnu.org>
Thu, 28 Oct 1993 21:25:05 +0000 (21:25 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 28 Oct 1993 21:25:05 +0000 (21:25 +0000)
sysdeps/unix/bsd/vax/sysdep.S

index e29a878..df2123a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,9 +16,17 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
+#include <errnos.h>
+
 .globl _errno
 .globl syscall_error
 syscall_error:
-       movl r0, _errno
+       /* We translate the system's EWOULDBLOCK error into EAGAIN.
+          The GNU C library always defines EWOULDBLOCK==EAGAIN.
+          EWOULDBLOCK_sys is the original number.  */
+       cmpl r0, $EWOULDBLOCK_sys
+       bne 0f
+       movl $EAGAIN, r0
+0:     movl r0, _errno
        mnegl $1, r0
        ret