summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/pthread.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/pthread.3')
-rw-r--r--static/netbsd/man3/pthread.3176
1 files changed, 176 insertions, 0 deletions
diff --git a/static/netbsd/man3/pthread.3 b/static/netbsd/man3/pthread.3
new file mode 100644
index 00000000..096b864d
--- /dev/null
+++ b/static/netbsd/man3/pthread.3
@@ -0,0 +1,176 @@
+.\" $NetBSD: pthread.3,v 1.18 2017/10/23 01:03:23 wiz Exp $
+.\"
+.\" Copyright (c) 2003, 2007, 2009 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Hubert Feyrer <hubertf@NetBSD.org> and Thomas Klausner <wiz@NetBSD.org>.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd November 22, 2016
+.Dt PTHREAD 3
+.Os
+.Sh NAME
+.Nm pthread
+.Nd POSIX Threads Library
+.Sh LIBRARY
+.Lb libpthread
+.Sh SYNOPSIS
+.In pthread.h
+.Pp
+.Nm cc
+.Op Ar flags
+.Ar files
+.Fl lpthread
+.Op Ar libraries
+.Sh DESCRIPTION
+The
+.Nm
+library provides an implementation of the standard POSIX threads
+library.
+.Pp
+The
+.Nx
+implementation is based on 1:1 thread model, therefore each
+.Nm
+has a kernel thread, called a light-weight process (LWP).
+.Pp
+Note that the system private thread interfaces upon which the
+.Nm
+library is built are subject to change without notice.
+In order to remain compatible with future
+.Nx
+releases, programs must be linked against the dynamic version of the
+thread library.
+Statically linked programs using the POSIX
+threads framework may not work when run on a future version of the system.
+.Sh FUNCTIONS
+The following functions comprise the core of the
+.Nm
+library:
+.Bl -column -offset indent "pthread_barrier_destroy(3)" "XXX"
+.It Sy Function Ta Sy Description
+.It Xr pthread_attr 3 Ta thread attribute operations
+.It Xr pthread_barrier_destroy 3 Ta destroy a barrier
+.It Xr pthread_barrier_init 3 Ta create a barrier
+.It Xr pthread_barrier_wait 3 Ta wait for a barrier
+.It Xr pthread_barrierattr 3 Ta barrier attribute operations
+.It Xr pthread_cancel 3 Ta cancel the execution of a thread
+.It Xr pthread_cleanup_push 3 Ta add or remove cleanup functions
+.It Xr pthread_cond_broadcast 3 Ta unblock one or more threads
+.It Xr pthread_cond_destroy 3 Ta destroy a condition variable
+.It Xr pthread_cond_init 3 Ta create a condition variable
+.It Xr pthread_cond_wait 3 Ta wait for a condition variable
+.It Xr pthread_condattr 3 Ta condition attribute operations
+.It Xr pthread_create 3 Ta create a new thread
+.It Xr pthread_detach 3 Ta detach a thread
+.It Xr pthread_equal 3 Ta compare thread identifiers
+.It Xr pthread_exit 3 Ta terminate the calling thread
+.It Xr pthread_getspecific 3 Ta get a thread-specific data value
+.It Xr pthread_join 3 Ta wait for thread termination
+.It Xr pthread_key_create 3 Ta thread-specific data key creation
+.It Xr pthread_key_delete 3 Ta delete a thread-specific data key
+.It Xr pthread_kill 3 Ta send a signal to a specific thread
+.It Xr pthread_mutex_destroy 3 Ta free a mutex
+.It Xr pthread_mutex_init 3 Ta create a mutex
+.It Xr pthread_mutex_lock 3 Ta acquire a lock on a mutex
+.It Xr pthread_mutex_unlock 3 Ta unlock a mutex
+.It Xr pthread_mutexattr 3 Ta mutex attribute operations
+.It Xr pthread_once 3 Ta dynamic package initialization
+.It Xr pthread_rwlock_destroy 3 Ta destroy a read/write lock
+.It Xr pthread_rwlock_init 3 Ta initialize a read/write lock
+.It Xr pthread_rwlock_rdlock 3 Ta acquire a read/write lock for reading
+.It Xr pthread_rwlock_unlock 3 Ta release a read/write lock
+.It Xr pthread_rwlock_wrlock 3 Ta acquire a read/write lock for writing
+.It Xr pthread_rwlockattr 3 Ta read/write lock attribute operations
+.It Xr pthread_schedparam 3 Ta thread scheduling manipulation
+.It Xr pthread_self 3 Ta get the ID of the calling thread
+.It Xr pthread_setspecific 3 Ta get a thread-specific data value
+.It Xr pthread_sigmask 3 Ta manipulate a thread's signal mask
+.It Xr pthread_spin_destroy 3 Ta destroy a spin lock
+.It Xr pthread_spin_init 3 Ta initialize a spin lock
+.It Xr pthread_spin_lock 3 Ta acquire a spin lock
+.It Xr pthread_spin_unlock 3 Ta release a spin lock
+.It Xr pthread_testcancel 3 Ta set cancelability state
+.El
+.Sh ENVIRONMENT
+The following environment variables affect the behavior of the library:
+.Bl -tag -width "XXX"
+.It Ev PTHREAD_DIAGASSERT
+Possible values are any combinations of:
+.Pp
+.Bl -tag -width "X " -offset 1n -compact
+.It Em A
+Report errors to application by error return, but do not abort.
+.It Em a
+Abort on errors, creating a core dump for further debugging.
+.It Em E
+Do not log errors to stdout.
+.It Em e
+Log errors to stdout.
+.It Em L
+Do not log errors via
+.Xr syslogd 8 .
+.It Em l
+Log errors via
+.Xr syslogd 8 .
+.El
+.Pp
+If not set in the environment, the
+.Nm
+library behaves as if
+.Em AEL
+has been specified.
+.It Ev PTHREAD_STACKSIZE
+Integer value giving the stack size in kilobytes.
+This allows to set a smaller stack size than the default stack size.
+The default stack size is the current limit on the stack size as
+set with the shell's command to change limits
+.Ic ( limit
+for
+.Xr csh 1 ,
+or
+.Ic ulimit
+for
+.Xr sh 1 ) .
+.El
+.Sh SEE ALSO
+.Rs
+.%A David R. Butenhof
+.%T Programming with POSIX(R) Threads
+.%D 1997
+.%I Addison-Wesley
+.Re
+.Sh STANDARDS
+The
+.Nm
+library conforms to
+.St -p1003.1-2001 .
+.Sh CAVEATS
+Due to limitations in the current pthread implementation,
+.Xr makecontext 3
+and
+.Xr sigaltstack 2
+should not be used in programs which link against the
+.Nm
+library (whether threads are used or not).