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_attr_getdetachstate, pthread_attr_setdetachstate - get and set the detachstate attribute

#### SYNOPSIS

> ``[THR] #include <pthread.h>
> int pthread_attr_getdetachstate(const pthread_attr_t *`attr`,
> int *`detachstate`);
> int pthread_attr_setdetachstate(pthread_attr_t *`attr`, int` detachstate`);``
> `
> `

#### DESCRIPTION

> The detachstate attribute controls whether the thread is created in a detached state. If the thread is created detached, then use of the ID of the newly created thread by the pthread_detach() or pthread_join() function is an error.

> The pthread_attr_getdetachstate() and pthread_attr_setdetachstate() functions, respectively, shall get and set the detachstate attribute in the attr object.

> For pthread_attr_getdetachstate(), detachstate shall be set to either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE.

> For pthread_attr_setdetachstate(), the application shall set detachstate to either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE.

> A value of PTHREAD_CREATE_DETACHED shall cause all threads created with attr to be in the detached state, whereas using a value of PTHREAD_CREATE_JOINABLE shall cause all threads created with attr to be in the joinable state. The default value of the detachstate attribute shall be PTHREAD_CREATE_JOINABLE.

#### RETURN VALUE

> Upon successful completion, pthread_attr_getdetachstate() and pthread_attr_setdetachstate() shall return a value of 0; otherwise, an error number shall be returned to indicate the error.

> The pthread_attr_getdetachstate() function stores the value of the detachstate attribute in detachstate if successful.

#### ERRORS

> The pthread_attr_setdetachstate() function shall fail if:

> [EINVAL]
>   The value of detachstate was not valid

> These functions may fail if:

> [EINVAL]
>   The value specified by attr does not refer to an initialized thread attribute object.

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

The following sections are informative.

#### EXAMPLES

> ##### Retrieving the detachstate Attribute

> This example shows how to obtain the detachstate attribute of a thread attribute object.

>     #include <pthread.h>

>     pthread_attr_t thread_attr;
>     int            detachstate;
>     int            rc;

>     /* code initializing thread_attr */
>     ...

>     rc = pthread_attr_getdetachstate (&thread_attr, &detachstate);
>     if (rc!=0) {
>         /* handle error */
>         ...
>     }
>     else {
>         /* legal values for detachstate are:
>          * PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE
>          */
>          ...
>     }

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> pthread_attr_destroy(), pthread_attr_getstackaddr(), pthread_attr_getstacksize(), pthread_create() , the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>

#### CHANGE HISTORY

> First released in Issue 5. Included for alignment with the POSIX Threads Extension.

#### Issue 6

> The pthread_attr_setdetachstate() and pthread_attr_getdetachstate() functions are marked as part of the Threads option.

> The DESCRIPTION is updated to avoid use of the term "must" for application requirements.

> IEEE Std 1003.1-2001/Cor 2-2004, item XSH/TC2/D6/72 is applied, adding the example to the EXAMPLES section.

> IEEE Std 1003.1-2001/Cor 2-2004, item XSH/TC2/D6/73 is applied, updating the ERRORS section to include the optional [EINVAL] error.

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 ]