pthread_barrier_init man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

PTHREAD_BARRIER(3)	 BSD Library Functions Manual	    PTHREAD_BARRIER(3)

     pthread_barrier_destroy, pthread_barrier_init, pthread_barrier_wait —
     destroy, initialize or wait on a barrier object

     POSIX Threads Library (libpthread, -lpthread)

     #include <pthread.h>

     pthread_barrier_destroy(pthread_barrier_t *barrier);

     pthread_barrier_init(pthread_barrier_t *barrier,
	 const pthread_barrierattr_t *attr, unsigned count);

     pthread_barrier_wait(pthread_barrier_t *barrier);

     The pthread_barrier_init() function will initialize barrier with
     attributes specified in attr, or if it is NULL, with default attributes.
     The number of threads that must call pthread_barrier_wait() before any of
     the waiting threads can be released is specified by count.	 The
     pthread_barrier_destroy() function will destroy barrier and release any
     resources that may have been allocated on its behalf.

     The pthread_barrier_wait() function will synchronize calling threads at
     barrier.  The threads will be blocked from making further progress until
     a sufficient number of threads calls this function.  The number of
     threads that must call it before any of them will be released is deter‐
     mined by the count argument to pthread_barrier_init().  Once the threads
     have been released the barrier will be reset.

     In both library “libkse” and library “libthr” the
     PTHREAD_BARRIER_SERIAL_THREAD return value will always be returned by the
     last thread to reach the barrier.

     If successful, both pthread_barrier_destroy() and pthread_barrier_init()
     will return zero.	Otherwise, an error number will be returned to indi‐
     cate the error.  If the call to pthread_barrier_wait() is successful, all
     but one of the threads will return zero.  That one thread will return
     PTHREAD_BARRIER_SERIAL_THREAD.  Otherwise, an error number will be
     returned to indicate the error.

     None of these functions will return EINTR.

     The pthread_barrier_destroy() function will fail if:

     [EBUSY]		An attempt was made to destroy barrier while it was in

     The pthread_barrier_destroy() and pthread_barrier_wait() functions may
     fail if:

     [EINVAL]		The value specified by barrier is invalid.

     The pthread_barrier_init() function will fail if:

     [EAGAIN]		The system lacks resources, other than memory, to ini‐
			tialize barrier.

     [EINVAL]		The count argument is less than 1.

     [ENOMEM]		Insufficient memory to initialize barrier.


     The pthread_barrier_destroy(), pthread_barrier_init() and
     pthread_barrier_wait() functions first appeared in library “libkse” in
     FreeBSD 5.2, and in library “libthr” in FreeBSD 5.3.

BSD			       February 19, 2004			   BSD

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net