OSDN Git Service

fix loop logic cruft in dynamic tls installation
authorRich Felker <dalias@aerifal.cx>
Fri, 22 Feb 2019 07:24:33 +0000 (02:24 -0500)
committerRich Felker <dalias@aerifal.cx>
Fri, 22 Feb 2019 07:24:33 +0000 (02:24 -0500)
commit 9d44b6460ab603487dab4d916342d9ba4467e6b9 inadvertently
contained leftover logic from a previous approach to the fallback
signaling loop. it had no adverse effect, since j was always nonzero
if the loop body was reachable, but it makes no sense to be there with
the current approach to avoid signaling self.

ldso/dynlink.c

index 9e2adb2..c7d9dd3 100644 (file)
@@ -1410,7 +1410,7 @@ static void install_new_tls(void)
                memset(&sa.sa_mask, -1, sizeof sa.sa_mask);
                __libc_sigaction(SIGSYNCCALL, &sa, 0);  
                for (td=self->next; td!=self; td=td->next)
-                       if (j) __syscall(SYS_tkill, td->tid, SIGSYNCCALL);
+                       __syscall(SYS_tkill, td->tid, SIGSYNCCALL);
                for (td=self->next; td!=self; td=td->next)
                        sem_wait(&barrier_sem);
                sa.sa_handler = SIG_IGN;