Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PTHREAD_ATTR(3)            Library Functions Manual            PTHREAD_ATTR(3)

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:

           Function                         Description
           pthread_attr_getdetachstate(3)   thread detach state
           pthread_attr_getguardsize(3)     thread guard size
           pthread_attr_getinheritsched(3)  inherit scheduler attribute
           pthread_attr_getschedparam(3)    thread scheduling parameter
           pthread_attr_getschedpolicy(3)   thread scheduling policy
           pthread_attr_getscope(3)         thread contention scope
           pthread_attr_getstack(3)         thread stack
           pthread_attr_getstacksize(3)     thread stack size
           pthread_attr_getstackaddr(3)     thread stack address

     Each listed pthread_attr_get*() function has a pthread_attr_set*()
     counterpart.  In addition, the following NetBSD specific extensions are
     available:

           Function                         Description
           pthread_attr_get_np(3)           attributes of a running thread
           pthread_attr_getname_np(3)       descriptive name of an attribute

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").

NetBSD 10.99                     July 9, 2010                     NetBSD 10.99