diff options
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S index 3a24adf..4722b4c 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -65,6 +65,7 @@ __pthread_cond_signal: movl total_seq(%edi), %ecx cmpl 4(%ebx), %eax #if cond_lock != 0 + /* Must use leal to preserve the flags. */ leal cond_lock(%edi), %edi #endif ja 3f @@ -76,7 +77,7 @@ __pthread_cond_signal: 3: addl $1, (%ebx) adcl $0, 4(%ebx) - /* Wake up one thread by moving it to the internal lock futex. */ + /* Wake up one thread. */ movl $FUTEX_WAKE, %ecx movl $SYS_futex, %eax movl $1, %edx |