Little mishap in last change.
authordrepper <drepper>
Thu, 6 Feb 2003 08:46:09 +0000 (08:46 +0000)
committerdrepper <drepper>
Thu, 6 Feb 2003 08:46:09 +0000 (08:46 +0000)
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S

index 81a4623..b2a5d53 100644 (file)
@@ -56,20 +56,20 @@ __pthread_cond_broadcast:
        testl   %eax, %eax
        jne     1f
 
-2:     movl    total_seq+4(%ebx), %eax
-       movl    total_seq(%ebx), %ecx
-       cmpl    wakeup_seq+4(%ebx), %eax
+2:     addl    $wakeup_seq, %ebx
+       movl    total_seq+4-wakeup_seq(%ebx), %eax
+       movl    total_seq-wakeup_seq(%ebx), %ecx
+       cmpl    4(%ebx), %eax
        ja      3f
        jb      4f
-       cmpl    wakeup_seq(%ebx), %ecx
+       cmpl    (%ebx), %ecx
        jna     4f
 
        /* Case all currently waiting threads to wake up.  */
-3:     movl    %ecx, wakeup_seq(%ebx)
-       movl    %eax, wakeup_seq+4(%ebx)
+3:     movl    %ecx, (%ebx)
+       movl    %eax, 4(%ebx)
 
        /* Wake up all threads.  */
-       addl    $wakeup_seq, %ebx
        movl    $FUTEX_WAKE, %ecx
        xorl    %esi, %esi
        movl    $SYS_futex, %eax
index a581c12..404bb4f 100644 (file)
@@ -56,20 +56,20 @@ __pthread_cond_signal:
        testl   %eax, %eax
        jne     1f
 
-2:     movl    total_seq+4(%ebx), %eax
-       movl    total_seq(%ebx), %ecx
-       cmpl    wakeup_seq+4(%ebx), %eax
+2:     addl    $wakeup_seq, %ebx
+       movl    total_seq+4-wakeup_seq(%ebx), %eax
+       movl    total_seq-wakeup_seq(%ebx), %ecx
+       cmpl    4(%ebx), %eax
        ja      3f
        jb      4f
-       cmpl    wakeup_seq(%ebx), %ecx
+       cmpl    (%ebx), %ecx
        jbe     4f
 
        /* Bump the wakeup number.  */
-3:     addl    $1, wakeup_seq(%ebx)
-       adcl    $0, wakeup_seq+4(%ebx)
+3:     addl    $1, (%ebx)
+       adcl    $0, 4(%ebx)
 
        /* Wake up one thread.  */
-       addl    $wakeup_seq, %ebx
        movl    $FUTEX_WAKE, %ecx
        xorl    %esi, %esi
        movl    $SYS_futex, %eax