IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


pthread_barrier_destroy(3)

NAME

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


LIBRARY

     POSIX Threads Library (libpthread, -lpthread)
     1:1 Threading Library (libthr, -lthr)


SYNOPSIS

     #include <pthread.h>

     int
     pthread_barrier_destroy(pthread_barrier_t *barrier);

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

     int
     pthread_barrier_wait(pthread_barrier_t *barrier);


DESCRIPTION

     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.


RETURN VALUES

     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.


IMPLEMENTATION NOTES

     In both POSIX Threads Library (libpthread, -lpthread) and 1:1 Threading
     Library (libthr, -lthr) the PTHREAD_BARRIER_SERIAL_THREAD return value
     will always be returned by the last thread to reach the barrier.


ERRORS

     The pthread_barrier_destroy() function will fail if:

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

			tialize barrier.

     [EINVAL]		The count argument is less than 1.

     [ENOMEM]		Insufficient memory to initialize barrier.


SEE ALSO

     pthread_barrierattr(3)


HISTORY

     The pthread_barrier_destroy(), pthread_barrier_init() and
     pthread_barrier_wait() functions first appeared in POSIX Threads Library
     (libpthread, -lpthread) in FreeBSD 5.2, and in 1:1 Threading Library
     (libthr, -lthr) in FreeBSD 5.3.

FreeBSD 5.4		       February 19, 2004		   FreeBSD 5.4

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk