Lines Matching defs:curthread
47 static void thread_start(struct pthread *curthread);
56 struct pthread *curthread, *new_thread;
76 curthread = _get_curthread();
77 if ((new_thread = _thr_alloc(curthread)) == NULL)
94 if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM)
99 new_thread->attr.prio = curthread->attr.prio;
100 new_thread->attr.sched_policy = curthread->attr.sched_policy;
108 _thr_free(curthread, new_thread);
139 _thr_link(curthread, new_thread);
150 if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpusetp != NULL) {
151 THR_THREAD_LOCK(curthread, new_thread);
200 THR_THREAD_LOCK(curthread, new_thread);
209 _thr_try_gc(curthread, new_thread); /* thread lock released */
219 _thr_try_gc(curthread, new_thread);
225 _thr_report_creation(curthread, new_thread);
226 THR_THREAD_UNLOCK(curthread, new_thread);
251 thread_start(struct pthread *curthread)
255 if (curthread->attr.suspend == THR_CREATE_SUSPENDED)
256 set = curthread->sigmask;
257 _thr_signal_block_setup(curthread);
264 THR_LOCK(curthread);
265 THR_UNLOCK(curthread);
267 if (curthread->force_exit)
270 if (curthread->attr.suspend == THR_CREATE_SUSPENDED) {
273 _thr_ast(curthread);
284 curthread->unwind_stackend = (char *)curthread->attr.stackaddr_attr +
285 curthread->attr.stacksize_attr;
289 _pthread_exit(curthread->start_routine(curthread->arg));