* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline
	__pthread_cleanup_pop functionality.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
This commit is contained in:
Ulrich Drepper 2003-03-02 07:52:31 +00:00
parent 78429f1231
commit 748bec0865
3 changed files with 9 additions and 8 deletions

View File

@ -4,6 +4,11 @@
2003-03-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline
__pthread_cleanup_pop functionality.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
* descr.h (struct pthread): Move tid field to the front now that
it is often used.

View File

@ -197,10 +197,8 @@ __pthread_cond_timedwait:
jne 10f
/* Remove cancellation handler. */
11: leal 28(%esp), %edx
movl $0, 4(%esp)
movl %edx, (%esp)
call __pthread_cleanup_pop
11: movl 20+CLEANUP_PREV(%esp), %edx
movl %edx, %gs:CLEANUP
/* Trick ahead: 8(%esp) contains the address of the mutex. */
addl $8, %esp

View File

@ -218,10 +218,8 @@ __pthread_cond_wait:
jne 10f
/* Remove cancellation handler. */
11: leal 20(%esp), %edx
movl $0, 4(%esp)
movl %edx, (%esp)
call __pthread_cleanup_pop
11: movl 20+CLEANUP_PREV(%esp), %edx
movl %edx, %gs:CLEANUP
/* Trick ahead: 8(%esp) contains the address of the mutex. */
addl $8, %esp