Lines Matching refs:thread
396 pthread_create(pthread_t *thread, const pthread_attr_t *attr, in pthread_create() argument
410 return __libc_thr_create_stub(thread, attr, startfunc, arg); in pthread_create()
561 *thread = newthread; in pthread_create()
604 pthread_suspend_np(pthread_t thread) in pthread_suspend_np() argument
609 thread->pt_magic == PT_MAGIC); in pthread_suspend_np()
612 if (self == thread) { in pthread_suspend_np()
615 if (pthread__find(thread) != 0) in pthread_suspend_np()
617 if (_lwp_suspend(thread->pt_lid) == 0) in pthread_suspend_np()
623 pthread_resume_np(pthread_t thread) in pthread_resume_np() argument
627 thread->pt_magic == PT_MAGIC); in pthread_resume_np()
629 if (pthread__find(thread) != 0) in pthread_resume_np()
631 if (_lwp_continue(thread->pt_lid) == 0) in pthread_resume_np()
697 pthread_join(pthread_t thread, void **valptr) in pthread_join() argument
702 thread->pt_magic == PT_MAGIC); in pthread_join()
706 if (pthread__find(thread) != 0) in pthread_join()
709 if (thread == self) in pthread_join()
715 if (_lwp_wait(thread->pt_lid, NULL) == 0) in pthread_join()
725 pthread_mutex_lock(&thread->pt_lock); in pthread_join()
726 if (thread->pt_state != PT_STATE_ZOMBIE) { in pthread_join()
731 *valptr = thread->pt_exitval; in pthread_join()
734 pthread__reap(thread); in pthread_join()
739 pthread__reap(pthread_t thread) in pthread__reap() argument
743 name = thread->pt_name; in pthread__reap()
744 thread->pt_name = NULL; in pthread__reap()
745 thread->pt_state = PT_STATE_DEAD; in pthread__reap()
746 pthread_mutex_unlock(&thread->pt_lock); in pthread__reap()
749 PTQ_INSERT_HEAD(&pthread__deadqueue, thread, pt_deadq); in pthread__reap()
775 pthread_detach(pthread_t thread) in pthread_detach() argument
780 thread->pt_magic == PT_MAGIC); in pthread_detach()
782 if (pthread__find(thread) != 0) in pthread_detach()
785 pthread_mutex_lock(&thread->pt_lock); in pthread_detach()
786 if ((thread->pt_flags & PT_FLAG_DETACHED) != 0) { in pthread_detach()
789 error = _lwp_detach(thread->pt_lid); in pthread_detach()
791 thread->pt_flags |= PT_FLAG_DETACHED; in pthread_detach()
795 if (thread->pt_state == PT_STATE_ZOMBIE) { in pthread_detach()
797 pthread__reap(thread); in pthread_detach()
799 pthread_mutex_unlock(&thread->pt_lock); in pthread_detach()
805 pthread_getname_np(pthread_t thread, char *name, size_t len) in pthread_getname_np() argument
809 thread->pt_magic == PT_MAGIC); in pthread_getname_np()
811 if (pthread__find(thread) != 0) in pthread_getname_np()
814 pthread_mutex_lock(&thread->pt_lock); in pthread_getname_np()
815 if (thread->pt_name == NULL) in pthread_getname_np()
818 strlcpy(name, thread->pt_name, len); in pthread_getname_np()
819 pthread_mutex_unlock(&thread->pt_lock); in pthread_getname_np()
826 pthread_setname_np(pthread_t thread, const char *name, void *arg) in pthread_setname_np() argument
832 thread->pt_magic == PT_MAGIC); in pthread_setname_np()
834 if (pthread__find(thread) != 0) in pthread_setname_np()
845 pthread_mutex_lock(&thread->pt_lock); in pthread_setname_np()
846 oldname = thread->pt_name; in pthread_setname_np()
847 thread->pt_name = cp; in pthread_setname_np()
848 (void)_lwp_setname(thread->pt_lid, cp); in pthread_setname_np()
849 pthread_mutex_unlock(&thread->pt_lock); in pthread_setname_np()
869 pthread_cancel(pthread_t thread) in pthread_cancel() argument
873 thread->pt_magic == PT_MAGIC); in pthread_cancel()
875 if (pthread__find(thread) != 0) in pthread_cancel()
877 pthread_mutex_lock(&thread->pt_lock); in pthread_cancel()
878 thread->pt_flags |= PT_FLAG_CS_PENDING; in pthread_cancel()
879 if ((thread->pt_flags & PT_FLAG_CS_DISABLED) == 0) { in pthread_cancel()
880 thread->pt_cancel = 1; in pthread_cancel()
881 pthread_mutex_unlock(&thread->pt_lock); in pthread_cancel()
882 _lwp_wakeup(thread->pt_lid); in pthread_cancel()
884 pthread_mutex_unlock(&thread->pt_lock); in pthread_cancel()