- if (syscall6(rs.nr, rs.arg[0], rs.arg[1], rs.arg[2],
+ /* 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;
+ }
+
+ if (syscall(rs.nr, rs.arg[0], rs.arg[1], rs.arg[2],