The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> pthread_barrierattr_destroy, pthread_barrierattr_init - destroy and initialize the barrier attributes object (ADVANCED REALTIME THREADS)

#### SYNOPSIS

> ``[THR BAR] #include <pthread.h>
> int pthread_barrierattr_destroy(pthread_barrierattr_t *`attr`);
> int pthread_barrierattr_init(pthread_barrierattr_t *`attr`);``
> `
> `

#### DESCRIPTION

> The pthread_barrierattr_destroy() function shall destroy a barrier attributes object. A destroyed attr attributes object can be reinitialized using pthread_barrierattr_init(); the results of otherwise referencing the object after it has been destroyed are undefined. An implementation may cause pthread_barrierattr_destroy() to set the object referenced by attr to an invalid value.

> The pthread_barrierattr_init() function shall initialize a barrier attributes object attr with the default value for all of the attributes defined by the implementation.

> Results are undefined if pthread_barrierattr_init() is called specifying an already initialized attr attributes object.

> After a barrier attributes object has been used to initialize one or more barriers, any function affecting the attributes object (including destruction) shall not affect any previously initialized barrier.

#### RETURN VALUE

> If successful, the pthread_barrierattr_destroy() and pthread_barrierattr_init() functions shall return zero; otherwise, an error number shall be returned to indicate the error.

#### ERRORS

> The pthread_barrierattr_destroy() function may fail if:

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

> The pthread_barrierattr_init() function shall fail if:

> [ENOMEM]
>   Insufficient memory exists to initialize the barrier attributes object.

> These functions shall not return an error code of [EINTR].

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> The pthread_barrierattr_destroy() and pthread_barrierattr_init() functions are part of the Barriers option and need not be provided on all implementations.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> pthread_barrierattr_getpshared(), pthread_barrierattr_setpshared(), the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>.

#### CHANGE HISTORY

> First released in Issue 6. Derived from IEEE Std 1003.1j-2000.

> In the SYNOPSIS, the inclusion of <sys/types.h> is no longer required.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]