Fix ERESTART check in sysdep-cancel.h
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Thu, 4 Sep 2008 21:39:35 +0000 (21:39 +0000)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Thu, 4 Sep 2008 21:39:35 +0000 (21:39 +0000)
nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/i386/sysdep-cancel.h

index 5e04204..2d59131 100644 (file)
     movl %eax, %ecx;                    \
     DO_CALL (syscall_name, args);                         \
     jnb 3f;                                                                            \
+    cmpl $ERESTART, %eax;                   \
+    je L(restart_cancel);                                      \
     pushl %eax; cfi_adjust_cfa_offset (4);  \
     movl %ecx, %eax;                        \
     CDISABLE;                           \
     popl %eax; cfi_adjust_cfa_offset (-4);    \
-    cmpl $ERESTART, %eax;                   \
-    je L(restart_cancel);                                      \
     jmp SYSCALL_ERROR_LABEL;                           \
 3:                                                  \
     pushl %eax; cfi_adjust_cfa_offset (4);  \
   L(restart_cancel):                                       \
     DO_CALL (syscall_name, args);                         \
     jnb 3f;                                                                            \
+    cmpl $ERESTART, %eax;                   \
+    je L(restart_cancel);                                      \
     pushl %eax; cfi_adjust_cfa_offset (4);  \
     movl %ecx, %eax;                        \
     CDISABLE;                           \
     popl %eax; cfi_adjust_cfa_offset (-4);    \
-    cmpl $ERESTART, %eax;                   \
-    je L(restart_cancel);                                      \
     movl 0(%esp), %ecx;                               \
     movl %ecx, 4(%esp);                                                        \
     addl $4, %esp;                          \