1.\" $NetBSD: pthread.3,v 1.1 2003/07/24 07:50:25 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 June 21, 2003 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 is an implementation of the standard 50.Tn POSIX 51threads library using the Scheduler Activations framework 52in the 53.Nx 54kernel, providing a kernel-supported MxN scheduling system. 55.Sh ENVIRONMENT 56.Bl -tag -width PTHREAD_DEBUGCOUNTERSXX -compact 57.It Ev PTHREAD_DIAGASSERT 58Possible values are any combinations of: 59.Bl -tag -width ignoreXX -offset indent -compact 60.It Sy A 61Ignore errors. 62.It Sy a 63Abort on errors, creating a core dump for further debugging. 64.It Sy E 65Do not log errors to stdout. 66.It Sy e 67Log errors to stdout. 68.It Sy L 69Do not log errors via 70.Xr syslogd 8 . 71.It Sy l 72Log errors via 73.Xr syslogd 8 . 74.El 75.It Ev PTHREAD_DEBUGCOUNTERS 76Print pthread event counters before the program terminates. 77.It Ev PTHREAD_DEBUGLOG 78Write debugging information into shared memory. 79This debug log can be parsed and printed by the 80.Nm debuglog 81program found in 82.Pa src/lib/libpthread/debuglog.c . 83.\" Following commented out since it will be removed shortly. 84.\".It Ev PTHREAD_PREEMPT 85.\"Generate upcalls on a vanilla 86.\".Fn preempt . 87.It Ev PTHREAD_RRTIME 88Integer value giving the round-robin interval in ms. 89The default is 100. 90If set to 0, timer-based round-robin scheduling is disabled. 91.El 92.Sh SEE ALSO 93.Xr pthread_attr 3 , 94.Xr pthread_barrier_destroy 3 , 95.Xr pthread_barrier_init 3 , 96.Xr pthread_barrier_wait 3 , 97.Xr pthread_barrierattr 3 , 98.Xr pthread_cancel 3 , 99.Xr pthread_cleanup_push 3 , 100.Xr pthread_cond_broadcast 3 , 101.Xr pthread_cond_destroy 3 , 102.Xr pthread_cond_init 3 , 103.Xr pthread_cond_wait 3 , 104.Xr pthread_condattr 3 , 105.Xr pthread_create 3 , 106.Xr pthread_detach 3 , 107.Xr pthread_equal 3 , 108.Xr pthread_exit 3 , 109.Xr pthread_getspecific 3 , 110.Xr pthread_join 3 , 111.Xr pthread_key_create 3 , 112.Xr pthread_key_delete 3 , 113.Xr pthread_kill 3 , 114.Xr pthread_mutex_destroy 3 , 115.Xr pthread_mutex_init 3 , 116.Xr pthread_mutex_lock 3 , 117.Xr pthread_mutex_unlock 3 , 118.Xr pthread_mutexattr 3 , 119.Xr pthread_once 3 , 120.Xr pthread_rwlock_destroy 3 , 121.Xr pthread_rwlock_init 3 , 122.Xr pthread_rwlock_rdlock 3 , 123.Xr pthread_rwlock_unlock 3 , 124.Xr pthread_rwlock_wrlock 3 , 125.Xr pthread_rwlockattr 3 , 126.Xr pthread_schedparam 3 , 127.Xr pthread_self 3 , 128.Xr pthread_setspecific 3 , 129.Xr pthread_sigmask 3 , 130.Xr pthread_spin_destroy 3 , 131.Xr pthread_spin_init 3 , 132.Xr pthread_spin_lock 3 , 133.Xr pthread_spin_unlock 3 , 134.Xr pthread_testcancel 3 135.Rs 136.%A Thomas E. Anderson 137.%A Brian N. Bershad 138.%A Edward D. Lazowska 139.%A Henry M. Levy 140.%T "Scheduler Activations: Effective Kernel Support for the \ 141User-Level Management of Parallelism" 142.%J ACM Transactions on Computer Systems 143.%V Vol. 10 144.%N No. 1 145.%D February 1992 146.%P 53-79 147.Re 148.Rs 149.%A Nathan J. Williams 150.%T "An Implementation of Scheduler Activations on the NetBSD \ 151Operating System" 152.%J "Proceedings of the FREENIX Track: 2002 USENIX Annual Technical \ 153Conference (FREENIX '02)" 154.%D 2002 155.%O http://www.mit.edu/people/nathanw/usenix/ 156.Re 157.Sh STANDARDS 158The 159.Nm 160library conforms to 161.St -p1003.1-2001 . 162.Sh AUTHORS 163.An Nathan J. Williams 164.Aq nathanw@NetBSD.org 165