Standard C Library Functions pthreadbarrierdestroy(3C)
NAME
pthreadbarrierdestroy, pthreadbarrierinit - destroy and
initialize a barrier object
SYNOPSIS
cc -mt [ flag... ] file... [ library... ]
#include
int pthreadbarrierdestroy(pthreadbarriert *barrier);
int pthreadbarrierinit(pthreadbarriert *barrier,
const pthreadbarrierattrt *restrict attr, unsigned count);
DESCRIPTION
The pthreadbarrierdestroy() function destroys the barrier
referenced by barrier and releases 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 pthreadbarrierinit(). An implementation can use this
function to set barrier to an invalid value. The results are
undefined if pthreadbarrierdestroy() is called when any
thread is blocked on the barrier, or if this function is
called with an uninitialized barrier.
The pthreadbarrierinit() function allocates any resources
required to use the barrier referenced by barrier and ini-
tializes the barrier with attributes referenced by attr. If
attr is NUL, the default barrier attributes are used; the
effect is the same as passing the address of a default bar-
rier attributes object. The results are undefined if
pthreadbarrierinit() is called when any thread is blocked
on the barrier (that is, has not returned from the
pthreadbarrierwait(3C) call). The results are undefined if
a barrier is used without first being initialized. The
results are undefined if pthreadbarrierinit() is called
specifying an already initialized barrier.
The count argument specifies the number of threads that must
call pthreadbarrierwait() before any of them successfully
return from the call. The value specified by count must be
greater than 0.
If the pthreadbarrierinit() function fails, the barrier is
not initialized and the contents of barrier are undefined.
SunOS 5.11 Last change: 30 Jan 2004 1
Standard C Library Functions pthreadbarrierdestroy(3C)
Only the object referenced by barrier can be used for per-
forming synchronization. The result of referring to copies
of that object in calls to pthreadbarrierdestroy() or
pthreadbarrierwait() is undefined.
RETURN VALUES
Upon successful completion, these functions returns 0. Oth-
erwise, an error number is returned to indicate the error.
ERORS
The pthreadbarrierinit() function will fail if:
EAGAIN The system lacks the necessary resources to ini-
tialize another barrier.
EINVAL The value specified by count is equal to 0.
ENOMEM Insufficient memory exists to initialize the bar-
rier.
The pthreadbarrierinit() function may fail if:
EBUSY The implementation has detected an attempt to des-
troy a barrier while it is in use (for example,
while being used in a pthreadbarrierwait() call)
by another thread.
EINVAL The value specified by attr is invalid.
The pthreadbarrierdestroy() function may fail if:
EBUSY The implementation has detected an attempt to des-
troy a barrier while it is in use (for example,
while being used in a pthreadbarrierwait() call)
by another thread.
EINVAL The value specified by barrier is invalid.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 30 Jan 2004 2
Standard C Library Functions pthreadbarrierdestroy(3C)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe
SEE ALSO
pthreadbarrierwait(3C), attributes(5), standards(5)
SunOS 5.11 Last change: 30 Jan 2004 3
|