Lines Matching defs:joiner
257 curthread->joiner = NULL; /* no joining threads yet */
1169 struct pthread *joiner;
1178 if ((joiner = thread->joiner) != NULL) {
1179 /* Joinee scheduler lock held; joiner won't leave. */
1180 if (joiner->kseg == curkse->k_kseg) {
1181 if (joiner->join_status.thread == thread) {
1182 joiner->join_status.thread = NULL;
1183 joiner->join_status.ret = thread->ret;
1184 (void)_thr_setrunnable_unlocked(joiner);
1188 /* The joiner may have removed itself and exited. */
1189 if (_thr_ref_add(thread, joiner, 0) == 0) {
1190 KSE_SCHED_LOCK(curkse, joiner->kseg);
1191 if (joiner->join_status.thread == thread) {
1192 joiner->join_status.thread = NULL;
1193 joiner->join_status.ret = thread->ret;
1194 kmbx = _thr_setrunnable_unlocked(joiner);
1196 KSE_SCHED_UNLOCK(curkse, joiner->kseg);
1197 _thr_ref_delete(thread, joiner);