mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 10:43:34 +08:00
Fix infloop in __pthread_disable_asynccancel on x86_64
This commit is contained in:
parent
e2c59de609
commit
b55ec98c64
@ -1,3 +1,8 @@
|
||||
2009-11-27 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Reload
|
||||
THREAD_SELF->cancelhandling after returning from futex call.
|
||||
|
||||
2009-11-24 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* tst-sem13.c: New file.
|
||||
|
@ -96,8 +96,8 @@ ENTRY(__pthread_disable_asynccancel)
|
||||
cmpxchgl %r11d, %fs:CANCELHANDLING
|
||||
jnz 2b
|
||||
|
||||
3: movl %r11d, %eax
|
||||
andl $(TCB_CANCELING_BITMASK|TCB_CANCELED_BITMASK), %eax
|
||||
movl %r11d, %eax
|
||||
3: andl $(TCB_CANCELING_BITMASK|TCB_CANCELED_BITMASK), %eax
|
||||
cmpl $TCB_CANCELING_BITMASK, %eax
|
||||
je 4f
|
||||
1: ret
|
||||
@ -111,5 +111,6 @@ ENTRY(__pthread_disable_asynccancel)
|
||||
addq $CANCELHANDLING, %rdi
|
||||
LOAD_PRIVATE_FUTEX_WAIT (%esi)
|
||||
syscall
|
||||
movl %fs:CANCELHANDLING, %eax
|
||||
jmp 3b
|
||||
END(__pthread_disable_asynccancel)
|
||||
|
Loading…
Reference in New Issue
Block a user