NAME
pthread_attr_init,
pthread_attr_destroy
—
thread attribute operations
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int
pthread_attr_init(
pthread_attr_t
*attr);
int
pthread_attr_destroy(
pthread_attr_t
*attr);
DESCRIPTION
Thread attributes are used to specify parameters to
pthread_create(). One attribute object can be used in
multiple calls to
pthread_create(), with or without
modifications between the calls. The
pthread_attr_t type
is an opaque representation of the thread attributes; any access to the object
other than via the described
pthread_attr_*() functions may
result in undefined behavior.
The
pthread_attr_init() function initializes
attr with the default thread attributes used in the
implementation. Depending on the implementation, undefined behavior may follow
if an uninitialized thread attribute object is used with some of the thread
attribute functions. It is therefore a good practice to always use
pthread_attr_init(), even if this might be unnecessary.
Undefined behavior may also follow if an already initialized
attr is used with
pthread_attr_init().
When the attribute object is no longer needed, it should be destroyed by using
pthread_attr_destroy(). The function has no effect on
threads that were created by using a given attribute object. A destroyed
attr can be reinitialized using
pthread_attr_init(), but all other actions with the
destroyed object are unspecified.
The following standard thread attribute functions are available:
Each listed
pthread_attr_get*() function has a
pthread_attr_set*() counterpart. In addition, the following
NetBSD specific extensions are available:
RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is returned
to indicate the error.
ERRORS
No errors are defined for
pthread_attr_init() and
pthread_attr_destroy().
SEE ALSO
pthread_create(3),
pthread_join(3)
STANDARDS
Both
pthread_attr_init() and
pthread_attr_destroy() conform to
IEEE Std
1003.1-2001 (“POSIX.1”).