about summary refs log tree commit diff
path: root/src/thread
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-04-26 17:46:58 -0400
committerRich Felker <dalias@aerifal.cx>2013-04-26 17:46:58 -0400
commit47d2bf5103fe7c65ae8dd18ba28704f143cdc9b4 (patch)
treee81c48a83ecfcce3832dc932cc45695ba9e8742c /src/thread
parent082fb4e9bfd105fab3443c7b055bd9c22bdffcec (diff)
downloadmusl-47d2bf5103fe7c65ae8dd18ba28704f143cdc9b4.tar.gz
musl-47d2bf5103fe7c65ae8dd18ba28704f143cdc9b4.tar.xz
musl-47d2bf5103fe7c65ae8dd18ba28704f143cdc9b4.zip
synccall signal handler need not handle dead threads anymore
they have already blocked signals before decrementing the thread
count, so the code being removed is unreachable in the case where the
thread is no longer counted.
Diffstat (limited to 'src/thread')
-rw-r--r--src/thread/synccall.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/src/thread/synccall.c b/src/thread/synccall.c
index 8c825ace..706c8e73 100644
--- a/src/thread/synccall.c
+++ b/src/thread/synccall.c
@@ -21,15 +21,6 @@ static void handler(int sig, siginfo_t *si, void *ctx)
 
 	sigqueue(self->pid, SIGSYNCCALL, (union sigval){0});
 
-	/* Threads which have already decremented themselves from the
-	 * thread count must not act. Block further receipt of signals
-	 * and return. */
-	if (self->dead) {
-		memset(&((ucontext_t *)ctx)->uc_sigmask, -1, 8);
-		errno = old_errno;
-		return;
-	}
-
 	sem_init(&ch.sem, 0, 0);
 	sem_init(&ch.sem2, 0, 0);