PTHREAD_BARRIERATTR(3)

PTHREAD_BARRIERATTR(3) | Library Functions Manual | PTHREAD_BARRIERATTR(3)

# NAME

pthread_barrierattr_init, pthread_barrierattr_destroy, pthread_barrierattr_getpshared, pthread_barrierattr_setpshared — barrier attribute operations

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

#include <pthread.h>
int
pthread_barrierattr_init(pthread_barrierattr_t *attr);
int
pthread_barrierattr_destroy(pthread_barrierattr_t *attr);
int
pthread_barrierattr_getpshared(const pthread_barrierattr_t * __restrict attr, int * __restrict pshared);
int
pthread_barrierattr_setpshared(pthread_barrierattr_t * attr, int pshared);

# DESCRIPTION

Barrier attributes are used to specify parameters to be used with pthread_barrier_init(3). One attribute object can be used in multiple calls to pthread_barrier_init(), with or without modifications between calls.
The pthread_barrierattr_init() function initializes attr with the default barrier attributes.
The pthread_barrierattr_destroy() function destroys attr.
The pthread_barrierattr_getpshared() function shall obtain the value of the process-shared attribute from the attributes object referenced by attr.
The pthread_barrierattr_setpshared() function shall set the process-shared attribute in an initialized attributes object referenced by attr.

# RETURN VALUES

If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.

# ERRORS

No error codes are defined for pthread_barrierattr_init().
The pthread_barrierattr_destroy() function may fail if:

[`EINVAL`]
  The value specified by attr is invalid.

The pthread_barrierattr_getpshared() and pthread_barrierattr_setpshared() may fail if:

[`EINVAL`]
  The value specified by attr is invalid.

# SEE ALSO

pthread_barrier_init(3)

# STANDARDS

Both functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

# BUGS

The pthread_barrierattr_getpshared() and pthread_barrierattr_setpshared() functions are hidden by default since only thread shared attributes are supported.

June 12, 2016 | NetBSD 8.0