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`() functions may fail if:

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

# SEE ALSO

pthread_barrier_init(3)

# STANDARDS

These 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 11.0