This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.11-55-gb55ec98
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 28 Nov 2009 05:37:48 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.11-55-gb55ec98
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via b55ec98c6490b944593243c7da54dda1796e3f84 (commit)
from e2c59de609151c643be697fd243ffe0b92753f43 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b55ec98c6490b944593243c7da54dda1796e3f84
commit b55ec98c6490b944593243c7da54dda1796e3f84
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri Nov 27 21:37:30 2009 -0800
Fix infloop in __pthread_disable_asynccancel on x86_64
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index d0e1abc..b964fd8 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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.
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
index 0d48ec6..6806962 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
@@ -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)
-----------------------------------------------------------------------
Summary of changes:
nptl/ChangeLog | 5 +++++
nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S | 5 +++--
2 files changed, 8 insertions(+), 2 deletions(-)
hooks/post-receive
--
GNU C Library master sources