summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man3p/pthread_barrier_destroy.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man3p/pthread_barrier_destroy.3p')
-rw-r--r--man-pages-posix-2013/man3p/pthread_barrier_destroy.3p168
1 files changed, 168 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man3p/pthread_barrier_destroy.3p b/man-pages-posix-2013/man3p/pthread_barrier_destroy.3p
new file mode 100644
index 0000000..124b447
--- /dev/null
+++ b/man-pages-posix-2013/man3p/pthread_barrier_destroy.3p
@@ -0,0 +1,168 @@
+'\" et
+.TH PTHREAD_BARRIER_DESTROY "3P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+
+.SH NAME
+pthread_barrier_destroy,
+pthread_barrier_init
+\(em destroy and initialize a barrier object
+.SH SYNOPSIS
+.LP
+.nf
+#include <pthread.h>
+.P
+int pthread_barrier_destroy(pthread_barrier_t *\fIbarrier\fP);
+int pthread_barrier_init(pthread_barrier_t *restrict \fIbarrier\fP,
+ const pthread_barrierattr_t *restrict \fIattr\fP, unsigned \fIcount\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIpthread_barrier_destroy\fR()
+function shall destroy the barrier referenced by
+.IR barrier
+and release any resources used by the barrier. The effect of
+subsequent use of the barrier is undefined until the barrier is
+reinitialized by another call to
+\fIpthread_barrier_init\fR().
+An implementation may use this function to set
+.IR barrier
+to an invalid value. The results are undefined if
+\fIpthread_barrier_destroy\fR()
+is called when any thread is blocked on the barrier, or if this
+function is called with an uninitialized barrier.
+.P
+The
+\fIpthread_barrier_init\fR()
+function shall allocate any resources required to use the barrier
+referenced by
+.IR barrier
+and shall initialize the barrier with attributes referenced by
+.IR attr .
+If
+.IR attr
+is NULL, the default barrier attributes shall be used; the effect is
+the same as passing the address of a default barrier attributes
+object. The results are undefined if
+\fIpthread_barrier_init\fR()
+is called when any thread is blocked on the barrier (that is, has not
+returned from the
+\fIpthread_barrier_wait\fR()
+call). The results are undefined if a barrier is used without first
+being initialized. The results are undefined if
+\fIpthread_barrier_init\fR()
+is called specifying an already initialized barrier.
+.P
+The
+.IR count
+argument specifies the number of threads that must call
+\fIpthread_barrier_wait\fR()
+before any of them successfully return from the call. The value
+specified by
+.IR count
+must be greater than zero.
+.P
+If the
+\fIpthread_barrier_init\fR()
+function fails, the barrier shall not be initialized and the contents
+of
+.IR barrier
+are undefined.
+.P
+Only the object referenced by
+.IR barrier
+may be used for performing synchronization. The result of referring to
+copies of that object in calls to
+\fIpthread_barrier_destroy\fR()
+or
+\fIpthread_barrier_wait\fR()
+is undefined.
+.SH "RETURN VALUE"
+Upon successful completion, these functions shall return zero;
+otherwise, an error number shall be returned to indicate the error.
+.SH ERRORS
+The
+\fIpthread_barrier_init\fR()
+function shall fail if:
+.TP
+.BR EAGAIN
+The system lacks the necessary resources to initialize another barrier.
+.TP
+.BR EINVAL
+The value specified by
+.IR count
+is equal to zero.
+.TP
+.BR ENOMEM
+Insufficient memory exists to initialize the barrier.
+.P
+These functions shall not return an error code of
+.BR [EINTR] .
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+None.
+.SH RATIONALE
+If an implementation detects that the value specified by the
+.IR barrier
+argument to
+\fIpthread_barrier_destroy\fR()
+does not refer to an initialized barrier object, it is recommended that
+the function should fail and report an
+.BR [EINVAL]
+error.
+.P
+If an implementation detects that the value specified by the
+.IR attr
+argument to
+\fIpthread_barrier_init\fR()
+does not refer to an initialized barrier attributes object, it is
+recommended that the function should fail and report an
+.BR [EINVAL]
+error.
+.P
+If an implementation detects that the value specified by the
+.IR barrier
+argument to
+\fIpthread_barrier_destroy\fR()
+or
+\fIpthread_barrier_init\fR()
+refers to a barrier that is in use (for example, in a
+\fIpthread_barrier_wait\fR()
+call) by another thread, or detects that the value specified by the
+.IR barrier
+argument to
+\fIpthread_barrier_init\fR()
+refers to an already initialized barrier object, it is recommended
+that the function should fail and report an
+.BR [EBUSY]
+error.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIpthread_barrier_wait\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2008,
+.IR "\fB<pthread.h>\fP"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, Copyright (C) 2013 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.unix.org/online.html .
+
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .