166492cf0SYuri Pankov.\" 266492cf0SYuri Pankov.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for 366492cf0SYuri Pankov.\" permission to reproduce portions of its copyrighted documentation. 466492cf0SYuri Pankov.\" Original documentation from The Open Group can be obtained online at 5c10c16deSRichard Lowe.\" http://www.opengroup.org/bookstore/. 666492cf0SYuri Pankov.\" 766492cf0SYuri Pankov.\" The Institute of Electrical and Electronics Engineers and The Open 866492cf0SYuri Pankov.\" Group, have given us permission to reprint portions of their 966492cf0SYuri Pankov.\" documentation. 1066492cf0SYuri Pankov.\" 1166492cf0SYuri Pankov.\" In the following statement, the phrase ``this text'' refers to portions 1266492cf0SYuri Pankov.\" of the system documentation. 1366492cf0SYuri Pankov.\" 1466492cf0SYuri Pankov.\" Portions of this text are reprinted and reproduced in electronic form 1566492cf0SYuri Pankov.\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, 1666492cf0SYuri Pankov.\" Standard for Information Technology -- Portable Operating System 1766492cf0SYuri Pankov.\" Interface (POSIX), The Open Group Base Specifications Issue 6, 1866492cf0SYuri Pankov.\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics 1966492cf0SYuri Pankov.\" Engineers, Inc and The Open Group. In the event of any discrepancy 2066492cf0SYuri Pankov.\" between these versions and the original IEEE and The Open Group 2166492cf0SYuri Pankov.\" Standard, the original IEEE and The Open Group Standard is the referee 2266492cf0SYuri Pankov.\" document. The original Standard can be obtained online at 2366492cf0SYuri Pankov.\" http://www.opengroup.org/unix/online.html. 2466492cf0SYuri Pankov.\" 2566492cf0SYuri Pankov.\" This notice shall appear on any product containing this material. 2666492cf0SYuri Pankov.\" 2766492cf0SYuri Pankov.\" The contents of this file are subject to the terms of the 2866492cf0SYuri Pankov.\" Common Development and Distribution License (the "License"). 2966492cf0SYuri Pankov.\" You may not use this file except in compliance with the License. 3066492cf0SYuri Pankov.\" 3166492cf0SYuri Pankov.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3266492cf0SYuri Pankov.\" or http://www.opensolaris.org/os/licensing. 3366492cf0SYuri Pankov.\" See the License for the specific language governing permissions 3466492cf0SYuri Pankov.\" and limitations under the License. 3566492cf0SYuri Pankov.\" 3666492cf0SYuri Pankov.\" When distributing Covered Code, include this CDDL HEADER in each 3766492cf0SYuri Pankov.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3866492cf0SYuri Pankov.\" If applicable, add the following below this CDDL HEADER, with the 3966492cf0SYuri Pankov.\" fields enclosed by brackets "[]" replaced with your own identifying 4066492cf0SYuri Pankov.\" information: Portions Copyright [yyyy] [name of copyright owner] 4166492cf0SYuri Pankov.\" 4266492cf0SYuri Pankov.\" 4366492cf0SYuri Pankov.\" Copyright (c) 2001, The IEEE and The Open Group. All Rights Reserved. 4466492cf0SYuri Pankov.\" Portions Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved. 45*7bb0eb34SAndy Fiddaman.\" Copyright 2022 OmniOS Community Edition (OmniOSce) Association. 4666492cf0SYuri Pankov.\" 47*7bb0eb34SAndy Fiddaman.Dd February 19, 2022 48*7bb0eb34SAndy Fiddaman.Dt PTHREAD.H 3HEAD 49*7bb0eb34SAndy Fiddaman.Os 50*7bb0eb34SAndy Fiddaman.Sh NAME 51*7bb0eb34SAndy Fiddaman.Nm pthread.h , 52*7bb0eb34SAndy Fiddaman.Nm pthread 53*7bb0eb34SAndy Fiddaman.Nd threads 54*7bb0eb34SAndy Fiddaman.Sh SYNOPSIS 55*7bb0eb34SAndy Fiddaman.In pthread.h 56*7bb0eb34SAndy Fiddaman.Sh DESCRIPTION 57*7bb0eb34SAndy FiddamanThe 58*7bb0eb34SAndy Fiddaman.In pthread.h 59*7bb0eb34SAndy Fiddamanheader defines the following symbols: 60*7bb0eb34SAndy Fiddaman.Pp 61*7bb0eb34SAndy Fiddaman.Bl -inset -offset Ds -compact 62*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_BARRIER_SERIAL_THREAD 63*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CANCEL_ASYNCHRONOUS 64*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CANCEL_ENABLE 65*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CANCEL_DEFERRED 66*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CANCEL_DISABLE 67*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CANCELED 68*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_COND_INITIALIZER 69*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CREATE_DETACHED 70*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_CREATE_JOINABLE 71*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_EXPLICIT_SCHED 72*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP 73*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_INHERIT_SCHED 74*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_DEFAULT 75*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_ERRORCHECK 76*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_INITIALIZER 77*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_NORMAL 78*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_RECURSIVE 79*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_ROBUST 80*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_MUTEX_STALLED 81*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_ONCE_INIT 82*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_PRIO_INHERIT 83*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_PRIO_NONE 84*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_PRIO_PROTECT 85*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_PROCESS_SHARED 86*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_PROCESS_PRIVATE 87*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 88*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_RWLOCK_INITIALIZER 89*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_SCOPE_PROCESS 90*7bb0eb34SAndy Fiddaman.It Dv PTHREAD_SCOPE_SYSTEM 91*7bb0eb34SAndy Fiddaman.El 92*7bb0eb34SAndy Fiddaman.Pp 93*7bb0eb34SAndy FiddamanThe types listed below are defined as described in 94*7bb0eb34SAndy Fiddaman.In sys/types.h . 95*7bb0eb34SAndy FiddamanSee 96*7bb0eb34SAndy Fiddaman.Xr types.h 3HEAD . 97*7bb0eb34SAndy Fiddaman.Pp 98*7bb0eb34SAndy Fiddaman.Bl -inset -offset Ds -compact 99*7bb0eb34SAndy Fiddaman.It Vt pthread_attr_t 100*7bb0eb34SAndy Fiddaman.It Vt pthread_barrier_t 101*7bb0eb34SAndy Fiddaman.It Vt pthread_barrierattr_t 102*7bb0eb34SAndy Fiddaman.It Vt pthread_cond_t 103*7bb0eb34SAndy Fiddaman.It Vt pthread_condattr_t 104*7bb0eb34SAndy Fiddaman.It Vt pthread_key_t 105*7bb0eb34SAndy Fiddaman.It Vt pthread_mutex_t 106*7bb0eb34SAndy Fiddaman.It Vt pthread_mutexattr_t 107*7bb0eb34SAndy Fiddaman.It Vt pthread_once_t 108*7bb0eb34SAndy Fiddaman.It Vt pthread_rwlock_t 109*7bb0eb34SAndy Fiddaman.It Vt pthread_rwlockattr_t 110*7bb0eb34SAndy Fiddaman.It Vt pthread_spinlock_t 111*7bb0eb34SAndy Fiddaman.It Vt pthread_t 112*7bb0eb34SAndy Fiddaman.El 113*7bb0eb34SAndy Fiddaman.Sh INTERFACE STABILITY 114*7bb0eb34SAndy Fiddaman.Sy Committed 115*7bb0eb34SAndy Fiddaman.Sh SEE ALSO 116*7bb0eb34SAndy Fiddaman.Xr pthread_attr_getguardsize 3C , 117*7bb0eb34SAndy Fiddaman.Xr pthread_attr_init 3C , 118*7bb0eb34SAndy Fiddaman.Xr pthread_attr_setscope 3C , 119*7bb0eb34SAndy Fiddaman.Xr pthread_cancel 3C , 120*7bb0eb34SAndy Fiddaman.Xr pthread_cleanup_pop 3C , 121*7bb0eb34SAndy Fiddaman.Xr pthread_cond_init 3C , 122*7bb0eb34SAndy Fiddaman.Xr pthread_cond_signal 3C , 123*7bb0eb34SAndy Fiddaman.Xr pthread_cond_wait 3C , 124*7bb0eb34SAndy Fiddaman.Xr pthread_condattr_init 3C , 125*7bb0eb34SAndy Fiddaman.Xr pthread_create 3C , 126*7bb0eb34SAndy Fiddaman.Xr pthread_detach 3C , 127*7bb0eb34SAndy Fiddaman.Xr pthread_equal 3C , 128*7bb0eb34SAndy Fiddaman.Xr pthread_exit 3C , 129*7bb0eb34SAndy Fiddaman.Xr pthread_getconcurrency 3C , 130*7bb0eb34SAndy Fiddaman.Xr pthread_getschedparam 3C , 131*7bb0eb34SAndy Fiddaman.Xr pthread_join 3C , 132*7bb0eb34SAndy Fiddaman.Xr pthread_key_create 3C , 133*7bb0eb34SAndy Fiddaman.Xr pthread_key_delete 3C , 134*7bb0eb34SAndy Fiddaman.Xr pthread_mutex_consistent 3C , 135*7bb0eb34SAndy Fiddaman.Xr pthread_mutex_init 3C , 136*7bb0eb34SAndy Fiddaman.Xr pthread_mutex_lock 3C , 137*7bb0eb34SAndy Fiddaman.Xr pthread_mutex_setprioceiling 3C , 138*7bb0eb34SAndy Fiddaman.Xr pthread_mutexattr_getprotocol 3C , 139*7bb0eb34SAndy Fiddaman.Xr pthread_mutexattr_getrobust 3C , 140*7bb0eb34SAndy Fiddaman.Xr pthread_mutexattr_gettype 3C , 141*7bb0eb34SAndy Fiddaman.Xr pthread_mutexattr_init 3C , 142*7bb0eb34SAndy Fiddaman.Xr pthread_once 3C , 143*7bb0eb34SAndy Fiddaman.Xr pthread_rwlock_init 3C , 144*7bb0eb34SAndy Fiddaman.Xr pthread_rwlock_rdlock 3C , 145*7bb0eb34SAndy Fiddaman.Xr pthread_rwlock_unlock 3C , 146*7bb0eb34SAndy Fiddaman.Xr pthread_rwlock_wrlock 3C , 147*7bb0eb34SAndy Fiddaman.Xr pthread_rwlockattr_getpshared 3C , 148*7bb0eb34SAndy Fiddaman.Xr pthread_rwlockattr_init 3C , 149*7bb0eb34SAndy Fiddaman.Xr pthread_self 3C , 150*7bb0eb34SAndy Fiddaman.Xr pthread_setcancelstate 3C , 151*7bb0eb34SAndy Fiddaman.Xr pthread_setspecific 3C , 152*7bb0eb34SAndy Fiddaman.Xr sched.h 3HEAD , 153*7bb0eb34SAndy Fiddaman.Xr time.h 3HEAD , 154*7bb0eb34SAndy Fiddaman.Xr types.h 3HEAD , 155*7bb0eb34SAndy Fiddaman.Xr attributes 7 156