This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/3124] New: pthread_create in sigcancel unwind
- From: "walter dot stocker at datacon dot at" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 24 Aug 2006 13:46:38 -0000
- Subject: [Bug nptl/3124] New: pthread_create in sigcancel unwind
- Reply-to: sourceware-bugzilla at sourceware dot org
A thread created during unwind caused by pthread_cancel, can't be cancelled
(doesn't react to SIGCANCEL).
workaround: the created thread unblocks SIGCANCEL (using syscall because
pthread_sigmask removes SIGCANCEL)
The attached testcase is a try to make a minimal example, the situation
occurred in a large C++ project.
Within the scope of the project it makes more sense than in the testcase.
Testsystem:
Linux 2.6.15.4 #1 PREEMPT Mon Jul 10 15:39:46 CEST 2006 i686 i686 i386 GNU/Linux
gcc 3.4.4
glibc 2.3.5 (productive system) also: glibc 2.3.6 and glibc 2.4
Testcase build:
gcc -lpthread unwinder.c -o unwinder
The program blocks on pthread_join, the thread continues to run.
starting unwinder
unwinder running (b7e89ba0)
cancel unwinder (b7e89ba0)
unwinder_cleanup starting thread
joined unwinder (b7e89ba0)
thread running (b7678ba0)
cancel thread (b7678ba0) -> blocks here
--
Summary: pthread_create in sigcancel unwind
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: nptl
AssignedTo: drepper at redhat dot com
ReportedBy: walter dot stocker at datacon dot at
CC: glibc-bugs at sources dot redhat dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://sourceware.org/bugzilla/show_bug.cgi?id=3124
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.