1
0
Эх сурвалжийг харах

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.
Rich Felker 12 жил өмнө
parent
commit
47d2bf5103
1 өөрчлөгдсөн 0 нэмэгдсэн , 9 устгасан
  1. 0 9
      src/thread/synccall.c

+ 0 - 9
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);