This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]