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