PTHREAD_ATTR_SETDETACHSTATE(3) Library Functions Manual PTHREAD_ATTR_SETDETACHSTATE(3)

pthread_attr_getdetachstate pthread_attr_setdetachstateget and set the detachstate attribute


#include <pthread.h>

int pthread_attr_getdetachstate(const pthread_attr_t *attr,
       int *detachstate);
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);

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(3) or pthread_join(3) 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.

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.

The pthread_attr_setdetachstate () function shall fail if:

The value of detachstate was not valid

These functions may fail if:

The value specified by attr does not refer to an initialized thread attribute object.

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

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
     */
     ...
}

None.

None.

None.

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

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

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 (“POSIX.1”)/Cor 2-2004, item XSH/TC2/D6/72 is applied, adding the example to the EXAMPLES section.

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

footer end

January 1, 2004 posix.fail