1.\" $NetBSD: pthread.3,v 1.6 2007/05/19 14:24:42 wiz Exp $ 2.\" 3.\" Copyright (c) 2003 Hubert Feyrer <hubertf@NetBSD.org> 4.\" and Thomas Klausner <wiz@NetBSD.org> 5.\" All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. The name of the authors may not be used to endorse or promote products 16.\" derived from this software without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR 19.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 23.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 25.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.Dd May 19, 2007 31.Dt PTHREAD 3 32.Os 33.Sh NAME 34.Nm pthread 35.Nd POSIX Threads Library 36.Sh LIBRARY 37.Lb libpthread 38.Sh SYNOPSIS 39.In pthread.h 40.Pp 41.Nm cc 42.Op Ar flags 43.Ar files 44.Fl lpthread 45.Op Ar libraries 46.Sh DESCRIPTION 47The 48.Nm 49library provides an implementation of the standard 50.Tn POSIX 51threads framework. 52.Sh ENVIRONMENT 53.Bl -tag -width PTHREAD_DEBUGCOUNTERSXX 54.It Ev PTHREAD_CONCURRENCY 55The current version of the system does not inspect this variable. 56It is reserved for use by the 57.Nm 58library. 59.It Ev PTHREAD_DIAGASSERT 60Possible values are any combinations of: 61.Bl -tag -width ignoreXX -offset indent -compact 62.It Sy A 63Ignore errors. 64.It Sy a 65Abort on errors, creating a core dump for further debugging. 66.It Sy E 67Do not log errors to stdout. 68.It Sy e 69Log errors to stdout. 70.It Sy L 71Do not log errors via 72.Xr syslogd 8 . 73.It Sy l 74Log errors via 75.Xr syslogd 8 . 76.El 77.It Ev PTHREAD_DEBUGCOUNTERS 78Print pthread event counters before the program terminates. 79.It Ev PTHREAD_DEBUGLOG 80Write debugging information into shared memory. 81This debug log can be parsed and printed by the 82.Nm debuglog 83program found in 84.Pa src/lib/libpthread/debuglog.c . 85.\" Following commented out since it will be removed shortly. 86.\".It Ev PTHREAD_PREEMPT 87.\"Generate upcalls on a vanilla 88.\".Fn preempt . 89.It Ev PTHREAD_RRTIME 90The current version of the system does not inspect this variable. 91It is reserved for use by the 92.Nm 93library. 94.It Ev PTHREAD_STACKSIZE 95Integer value giving the stack size in kilobytes. 96This allows to set a smaller stack size than the default stack size. 97The default stack size is the current limit on the stack size as 98set with the shell's command to change limits 99.Ic ( limit 100for 101.Xr csh 1 , 102or 103.Ic ulimit 104for 105.Xr sh 1 ) . 106.El 107.Sh SEE ALSO 108.Xr pthread_attr 3 , 109.Xr pthread_barrier_destroy 3 , 110.Xr pthread_barrier_init 3 , 111.Xr pthread_barrier_wait 3 , 112.Xr pthread_barrierattr 3 , 113.Xr pthread_cancel 3 , 114.Xr pthread_cleanup_push 3 , 115.Xr pthread_cond_broadcast 3 , 116.Xr pthread_cond_destroy 3 , 117.Xr pthread_cond_init 3 , 118.Xr pthread_cond_wait 3 , 119.Xr pthread_condattr 3 , 120.Xr pthread_create 3 , 121.Xr pthread_detach 3 , 122.Xr pthread_equal 3 , 123.Xr pthread_exit 3 , 124.Xr pthread_getspecific 3 , 125.Xr pthread_join 3 , 126.Xr pthread_key_create 3 , 127.Xr pthread_key_delete 3 , 128.Xr pthread_kill 3 , 129.Xr pthread_mutex_destroy 3 , 130.Xr pthread_mutex_init 3 , 131.Xr pthread_mutex_lock 3 , 132.Xr pthread_mutex_unlock 3 , 133.Xr pthread_mutexattr 3 , 134.Xr pthread_once 3 , 135.Xr pthread_rwlock_destroy 3 , 136.Xr pthread_rwlock_init 3 , 137.Xr pthread_rwlock_rdlock 3 , 138.Xr pthread_rwlock_unlock 3 , 139.Xr pthread_rwlock_wrlock 3 , 140.Xr pthread_rwlockattr 3 , 141.Xr pthread_schedparam 3 , 142.Xr pthread_self 3 , 143.Xr pthread_setspecific 3 , 144.Xr pthread_sigmask 3 , 145.Xr pthread_spin_destroy 3 , 146.Xr pthread_spin_init 3 , 147.Xr pthread_spin_lock 3 , 148.Xr pthread_spin_unlock 3 , 149.Xr pthread_testcancel 3 150.Sh STANDARDS 151The 152.Nm 153library conforms to 154.St -p1003.1-2001 . 155