diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-09 07:39:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-09 07:39:03 +0000 |
commit | b17203463dc96148641c00fd5eda93fef95475c8 (patch) | |
tree | f019bf1017c04881b686d6e397856387504e89ae /nptl/sysdeps | |
parent | eae59a5681a6725d38f210acbd9ca82ba170c79c (diff) | |
download | glibc-b17203463dc96148641c00fd5eda93fef95475c8.zip glibc-b17203463dc96148641c00fd5eda93fef95475c8.tar.gz glibc-b17203463dc96148641c00fd5eda93fef95475c8.tar.bz2 |
Update.
2003-06-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
(__pthread_cond_signal): Some more tweaks to handle cond_lock!=0.
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S | 10 |
1 files changed, 5 insertions, 5 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 4b4fc05..c89851d 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 @@ -65,6 +65,9 @@ __pthread_cond_signal: movl total_seq+4(%edi), %eax movl total_seq(%edi), %ecx cmpl 4(%ebx), %eax +#if cond_lock != 0 + leal cond_lock(%edi), %edi +#endif ja 3f jb 4f cmpl (%ebx), %ecx @@ -90,13 +93,10 @@ __pthread_cond_signal: testl %eax, %eax jne 5f - /* Unlock. */ + /* Unlock. Note that at this point %edi always points to + cond_lock. */ 4: LOCK -#if cond_lock == 0 subl $1, (%edi) -#else - subl $1, cond_lock(%edi) -#endif jne 5f 6: xorl %eax, %eax |