diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S index d36bc7e1b2..f7c8166c72 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S @@ -53,7 +53,7 @@ pthread_barrier_wait: /* One less waiter. If this was the last one needed wake everybody. */ -2: decl LEFT(%ebx) +2: subl $1, LEFT(%ebx) je 3f /* There are more threads to come. */ @@ -67,7 +67,7 @@ pthread_barrier_wait: /* Release the mutex. */ LOCK - incl MUTEX(%ebx) + addl $1, MUTEX(%ebx) jng 6f /* Wait for the remaining threads. The call will return immediately @@ -98,9 +98,9 @@ pthread_barrier_wait: 3: movl INIT_COUNT(%ebx), %eax movl %eax, LEFT(%ebx) #if CURR_EVENT == 0 - incl (%ebx) + addl $1, (%ebx) #else - incl CURR_EVENT(%ebx) + addl $1, CURR_EVENT(%ebx) #endif /* Wake up all waiters. The count is a signed number in the kernel @@ -114,7 +114,7 @@ pthread_barrier_wait: waking the waiting threads since otherwise a new thread might arrive and gets waken up, too. */ LOCK - incl MUTEX(%ebx) + addl $1, MUTEX(%ebx) jng 4f 5: orl $-1, %eax /* == PTHREAD_BARRIER_SERIAL_THREAD */ |