+ struct pthread *self = __pthread_self();
+
+ if (si->si_code > 0 || si->si_pid != self->pid ||
+ rs.cnt == libc.threads_minus_1) return;
+
+ /* Threads which have already decremented themselves from the
+ * thread count must not increment rs.cnt or otherwise act. */
+ if (self->dead) {
+ __wait(&rs.hold, 0, 1, 1);
+ return;
+ }