Lines Matching refs:curthread
140 struct pthread *curthread = _get_curthread(); in thread_unwind_stop() local
149 cfa >= (uintptr_t)curthread->unwind_stackend) { in thread_unwind_stop()
153 while ((cur = curthread->cleanup) != NULL && in thread_unwind_stop()
171 struct pthread *curthread = _get_curthread(); in thread_unwind() local
173 curthread->ex.exception_class = 0; in thread_unwind()
174 curthread->ex.exception_cleanup = thread_unwind_cleanup; in thread_unwind()
175 _Unwind_ForcedUnwind(&curthread->ex, thread_unwind_stop, NULL); in thread_unwind()
215 struct pthread *curthread = _get_curthread(); local
218 if (curthread->cancelling)
221 "1996 s16.2.5.2 does not allow this!", curthread);
224 curthread->cancelling = 1;
225 curthread->no_cancel = 1;
226 curthread->cancel_async = 0;
227 curthread->cancel_point = 0;
230 if (curthread->unblock_sigcancel) {
233 curthread->unblock_sigcancel = 0;
240 curthread->ret = status;
249 if (curthread->unwind_disabled) {
261 while (curthread->cleanup != NULL) {
270 while (curthread->cleanup != NULL) {
282 struct pthread *curthread = _get_curthread(); local
284 free(curthread->name);
285 curthread->name = NULL;
288 if (curthread->specific != NULL) {
304 THR_LOCK(curthread);
305 curthread->state = PS_DEAD;
306 if (curthread->flags & THR_FLAGS_NEED_SUSPEND) {
307 curthread->cycle++;
308 _thr_umtx_wake(&curthread->cycle, INT_MAX, 0);
310 if (!curthread->force_exit && SHOULD_REPORT_EVENT(curthread, TD_DEATH))
311 _thr_report_death(curthread);
316 curthread->refcount--;
317 _thr_try_gc(curthread, curthread); /* thread lock released */
320 if (THR_IN_CRITICAL(curthread))
321 PANIC("thread %p exits with resources held!", curthread);
327 thr_exit(&curthread->tid);