1 .\" $NetBSD: pthread_barrier_init.3,v 1.8 2008/04/30 13:10:52 martin Exp $
3 .\" Copyright (c) 2002 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
14 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
15 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
17 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 .\" POSSIBILITY OF SUCH DAMAGE.
26 .Dt PTHREAD_BARRIER_INIT 3
29 .Nm pthread_barrier_init
36 .Fn pthread_barrier_init "pthread_barrier_t * restrict barrier" "const pthread_barrierattr_t * restrict attr" "unsigned int count"
39 .Fn pthread_barrier_init
40 function creates a new barrier, with attributes specified with
46 parameter indicates the number of threads which will participate in the barrier.
49 is NULL the default attributes are used.
50 Barriers are most commonly used in the decomposition of parallel loops.
53 .Fn pthread_barrier_init
54 will return zero and put the new barrier id into
56 otherwise an error number will be returned to indicate the error.
58 .Fn pthread_barrier_init
62 The system lacks the resources to initialize another barrier.
64 The value specified by
68 Insufficient memory exists to initialize the barrier.
71 .Fn pthread_barrier_init
75 The barrier structure has been initialized already.
77 The value specified by
82 .Xr pthread_barrier_destroy 3 ,
83 .Xr pthread_barrier_wait 3 ,
84 .Xr pthread_barrierattr_destroy 3 ,
85 .Xr pthread_barrierattr_init 3
87 .Fn pthread_barrier_init