]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
authorJakub Jelinek <jakub@redhat.com>
Fri, 25 May 2007 19:27:03 +0000 (19:27 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 25 May 2007 19:27:03 +0000 (19:27 +0000)
Move __pthread_enable_asynccancel right before futex syscall.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
Likewise.
2007-05-25  Ulrich Drepper  <drepper@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>

* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
Move __pthread_enable_asynccancel right before futex syscall.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
Likewise.

2007-05-24  Jakub Jelinek  <jakub@redhat.com>

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S

index 4ebc708733ed365e050c2e873219d48e8a69b8b0..923364cae5c076f26ded090da56cfd0e9e62d0ac 100644 (file)
@@ -1,4 +1,12 @@
-2007-04-24  Jakub Jelinek  <jakub@redhat.com>
+2007-05-25  Ulrich Drepper  <drepper@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
+       Move __pthread_enable_asynccancel right before futex syscall.
+       * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
+       Likewise.
+
+2007-05-24  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,
        THREAD_COPY_PRIVATE_FUTEX): Define.
index aa1f9f41ca92da416891667ade8446f0cc91099d..bf70e17fca6e96b79977644d0b572f15d13da258 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -79,10 +79,7 @@ sem_timedwait:
        jae     6f
 
        cfi_offset(3, -16)              /* %ebx */
-7:     call    __pthread_enable_asynccancel
-       movl    %eax, 8(%esp)
-
-       xorl    %ecx, %ecx
+7:     xorl    %ecx, %ecx
        movl    %esp, %ebx
        movl    %ecx, %edx
        movl    $SYS_gettimeofday, %eax
@@ -105,6 +102,10 @@ sem_timedwait:
 
        movl    %ecx, (%esp)    /* Store relative timeout.  */
        movl    %edx, 4(%esp)
+
+       call    __pthread_enable_asynccancel
+       movl    %eax, 8(%esp)
+
        movl    28(%esp), %ebx
        xorl    %ecx, %ecx
        movl    %esp, %esi
index 76a566b988147e8631fd8c359ceab237d0162af7..8c5c2a69741533c1835e66b0ca6b54139141ea22 100644 (file)
@@ -73,10 +73,7 @@ sem_timedwait:
        cfi_offset(14, -24)             /* %r14 */
        jae     6f
 
-7:     call    __pthread_enable_asynccancel
-       movl    %eax, 16(%rsp)
-
-       xorl    %esi, %esi
+7:     xorl    %esi, %esi
        movq    %rsp, %rdi
        movq    $VSYSCALL_ADDR_vgettimeofday, %rax
        callq   *%rax
@@ -99,6 +96,9 @@ sem_timedwait:
        movq    %rdi, (%rsp)    /* Store relative timeout.  */
        movq    %rsi, 8(%rsp)
 
+       call    __pthread_enable_asynccancel
+       movl    %eax, 16(%rsp)
+
        movq    %rsp, %r10
        movq    %r12, %rdi
        xorl    %esi, %esi